스프링 부트 외부 설정 스프링부트는 외부 설정을 통해 스프링부트 어플리케이션의 환경설정 or 설정값을 정할 수 있다. 사용할 수 있는 외부 설정은 크게 properties, YAML, 환경변수, 커맨드 라인 인수 등이 있다. properties 파일을 통한 설정 properties 파일을 통해서 다음과 같이 어플리케이션 외부 설정을 할 수 있다. 참고로 properties의 값은 @Value 어노테이션을 통해 읽어올 수 있다. 프로퍼티 우선 순위 스프링부트에서는 프로퍼티 값에 따라서 우선 순위를 두고 있다는 것을 명심하자 유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties 테스트에 있는 @TestPropertySource @SpringBootTest 애노테이션의 prope..
| 이벤트 리스터(Event Listener) 스프링부트를 실행할 시 구동되는 단계마다 여러 이벤트들이 발생한다. 개발할 때 이 이벤트들을 나타내는 객체를 인자로 받아 각 단계마다 원하는 처리를 할 수 있다. 먼저 ApplicationStartingEvent와 ApplicationStartedEvent를 알아보자. ApplicationStartingEvent은 주의할 부분이 스프링컨테이너가 만들어지기 전에 생성되는 이벤트이기 때문에 SpringApplication 객체에 해당 리스터를 추가해야 한다. package org.kyhslam; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigu..
| 스프링 부트 자동 설정 이해 스프링 부트는 자바의 main 진입점에 @SpringBootApplication을 붙임으로서 사용할 수 있다. 스프링 부트는@SpringBootApplication에 있는 @ComponentScan과@EnableAutoConfiguration어노테이션을 통해 두 단계로 나뉘어서 스프링 부트 프로젝트의 스프링 빈을 찾아내어 등록한다. @ComponentScan은 스프링 프레임워크에서@Repository, @Configuration, @Service등 스프링 빈을 나타내는 어노테이션을@ComponentScan이 붙은 클래스가 위치해 있는 현재 패키지를 기준으로 그 아래 패키지까지 찾아내서 스프링 빈으로 등록하는 기능을 수행한다. @EnableAutoConfiguration은 ..