본문 바로가기

Java & 스프링40

[스프링 부트] 외부 설정 적용하기(2) 이전 포스팅에서 살펴본 외부 설정 파일의 값 바인딩을 type safe 하게 사용해 보자. 다음은 application.properties 파일이다. my.name = hongjun my.age = ${random.int(0,100)} my.full_name = ${my.name} Choi 먼저 값을 바인딩할 class를 생성해보자. 아래 코드에선 getter, setter가 생략되어 있다. @Component @ConfigurationProperties("my") public class MyProperties { String name; int age; String fullName; } 보는 바와 같이 @ConfigurationProperties을 이용하면 매우 간단하게 설정 파일의 값을 바인딩할 수 있.. 2019. 9. 25.
[스프링 부트] 외부 설정 적용 하기 application에서 사용하는 설정 값들을 내부 또는 밖에 설정하는 기능을 필요로 할 때 외부 설정을 사용할 수 있다. 외부 설정을 사용할 때 사용하는 가장 대표적인 파일은 application.properties으로 스프링 부트가 구동할 때 자동으로 로딩한다. 우선 설정 방식에 따른 우선순위를 확인해 보자. 스프링 doc에 있는 내용을 발췌해 보았다. 우선순위를 확인해보면 아래에서 살펴볼 application.properties은 우선순위가 15위 인 것을 알 수 있다. https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config 더보기 Devtools global settings .. 2019. 9. 24.
[스프링부트] 이벤트 리스너 스프링에서 이벤트 리스너를 사용해 보자 이벤트는 여러 가지 있다. ApplicationContext를 만들었을 때, 구동됐을 때, 시작됐을 때... 등등 여러 가지 이벤트가 있다. 3가지의 리스너를 사용해보도록 하겠다 1. ServletWebServerInitializedEvent - ( ? 요건 조금 찾아봐야겠다 ) 2. ApplicationStartingEvent - 환경 또는 ApplicationContext가 사용 가능하기 전이나 ApplicationListener가 등록된 후 SpringApplication이 시작되자마자 발생하는 이벤트 3. ApplicationStartedEvent - 응용 프로그램 컨텍스트가 새로 고쳐지지만 응용 프로그램 및 명령 줄 러너가 호출되기 전에 게시된 이벤트 Ap.. 2019. 9. 24.
[스프링 부트] 스프링 인스턴스 사용해보기 보통 아래와 같은 형태의 main 클래스를 생성하여 스프링 부트를 시작한다. @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class); } } 위의 기본 형태에서 조금 더 세세한 세팅을 하기 위해 아래와 같이 코드를 변경 가능하다. @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication app = new SpringApplication(Application.class); app.setBann.. 2019. 9. 23.