반응형 개발/Spring Boot9 스프링 부트 액츄에이터 액츄에이터 Actuator 스프링 부트가 제공하는 액츄에이터는 지표, 추적, 감사, 모니터링과 같은 프로덕션 준비 기능을 매우 편리하게 사용할 수 있는 다양한 편의 기능을 제공한다. 나아가서 다양한 모니터링 시스템과 매우 쉽게 연동할 수 있는 기능도 제공한다. 액츄에이터 의존성 추가 아래 의존성을 build.gradle에 추가해야지 액츄에이터를 사용할 수 있다. implementation 'org.springframework.boot:spring-boot-starter-actuator' // actuator 추가 액츄에이터 기능 사용 액추에이터를 사용하려면 애플리케이션의 main() 메서드를 실행시키고 /actuator 경로로 접근해야 한다. /actuator 경로를 통해 액츄에이터가 제공하는 수 많은 .. 2023. 3. 4. 스프링 부트 자동 구성 스프링 부트의 자동 구성 스프링 부트는 자동 구성(Auto Configuration)이라는 기능을 제공해서, DataSource, TransactionManger과 같은 일반적으로 자주 사용하는 수많은 빈들을 자동으로 등록해준다. 자동 구성 덕분에 개발자는 반복적이고 복잡한 빈 등록과 설정을 최소화 하고 애플리케이션 개발을 빠르게 시작할 수 있다. 스프링 부트는 spring-boot-autoconfigure라는 프로젝트 안에서 수 많은 자동 구성을 제공한다. @AutoConfiguration: 자동 구성을 사용하려면 이 애노테이션을 등록해야 한다. 이 애노테이션을 살펴보면 메타 애노테이션으로 @Configuration을 가지고 있으므로 빈을 등록하는 자바 설정 파일로 사용할 수 있다. after의 의미는.. 2023. 3. 4. 서블릿 컨테이너, 내장 톰캣과 스프링 부트 먼저 JAR와 WAR에 대해 알아보자. JAR Java Archive의 줄임말이다. 자바의 클래스 파일과 여러 리소스를 묶어서 만든 압축 파일이다. 이 파일은 JVM위에서 실행되거나 또는 다른 곳에서 사용하는 라이브러리로 제공된다. 직접 실행하는 경우 main() 메서드가 필요하고, MANIFEST.MF 파일에 실행할 메인 메서드가 있는 클래스를 지정해야 한다. WAR Web Application Archive의 줄임말이다. WAR 파일은 WAS에 배포할 때 사용하는 파일이다. 웹 애플리케이션 서버 위에서 동작한다. HTML같은 정적 리소스와 클래스 파일을 모두 포함하므로 JAR보다 구조가 복잡하다. 과거와 현재의 WAS 사용 방식 과거에는 스프링으로 웹 애플리케이션을 개발할 때는 먼저 서버에 톰캣과 같.. 2023. 3. 3. @Value, @ConfigurationProperties, @Profile @Value @Value를 사용하면 외부 설정값을 편리하게 주입받을 수 있다. 물론 @Value도 내부에서 Environment를 사용한다. @Slf4j @Configuration public class MyDataSourceValueConfig { @Value("${my.datasource.url}") private String url; @Value("${my.datasource.username}") private String username; //... @Bean public MyDataSource myDataSource( @Value("${my.datasource.url}") String url, @Value("${my.datasource.username}") String username, @Val.. 2023. 3. 2. 외부설정과 프로필 외부 설정 개발 환경과 운영 환경에서 서로 다른 설정 값을 사용해야할 수 있다. 예를 들어 개발 환경과 운영 환경에 따른 데이터베이스 url, username, password 등이 있다. 이 문제를 해결하는 가장 단순한 방법은 각각의 환경에 애플리케이션을 빌드하는 것이다. 그럼 개발app.jar, 운영app.jar가 만들어진다. 해당 파일들을 각 환경별로 배포하면 된다. 하지만 이런 방법은 환경에 따라 빌드를 여러 번하고 개발 버전과 운영 버전의 빌드 결과물이 다르므로 좋은 방법이 아니다. 그러므로 보통 빌드는 한번만 하고 각 환경에 맞추어 실행 시점에 외부 설정 값을 주입한다. 이렇게 하면 빌드도 한번만 하면 되고, 개발 버전과 운영 버전의 빌드 결과물이 같기 때문에 개발환경에서 검증되면 운영 환경에.. 2023. 3. 2. 스프링 부트란 스프링 부트란 스프링 부트는 스프링을 기반으로 실무 환경에 사용 가능한 수준의 독립 실행형 애플리케이션을 복잡한 고민 없이 빠르게 작성할 수 있게 도와주는 여러 가지 도구의 모음이다. 스프링 부트의 목표 매우 빠르고 광범위한 영역의 스프링 개발 경험을 제공 강한 주장을 가지고 즉시 적용 가능한 기술 조합을 제공하면서, 필요에 따라 원하는 방식으로 손쉽게 변형 가능 프로젝트에서 필요로 하는 다양한 비기능적인 기술(내장형 서버, 보안, 메트릭, 상태 체크, 외부 설정 방식 등) 제공 코드 생성이나 XML 설정을 필요로 하지 않는다. 스프링 부트의 핵심 기능 컨테이너리스 개발: 별도의 웹 서버를 내장해서 웹 서버를 설치하지 않아도 됨. 라이브러리 관리: 손쉬운 빌드 구성을 위한 스타터 종속성 제공, 스프링과 .. 2023. 2. 28. 이전 1 2 다음 반응형