Spring boot 에서는 application.yml (또는 application.properties) 파일의 내용을 빈의 변수에 바인딩하도록 도와주는 어노테이션이 있다.@Value("${property.value}")
뭐 이런식으로 사용하는데 변수가 늘어남에 따라 어노테이션이 많아져서 가독성을 해치는 경우가 있고, 일일히 지정해주기가 귀찮을 경우 쓸 수 있는 방법인 @ConfigurationProperties
어노테이션에 대해서 간단히 적어 보려 한다.
사용방법
@ConfigurationProperties
는 클래스에 선언하는 어노테이션이다.
간단히 아래 예시와 같이 사용한다.
먼저 gradle(또는 maven 빌드 툴)에 아래 dependency를 설정한다.
1 | annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' |
yml에 필요한 값들을 설정하고
1 | user: |
값들을 사용하고자 하는 클래스에 @ConfigurationProperties
어노테이션을 추가한다. 여기서 prefix도 설정할 수 있다. (user.conf는 예시를 위해 작성해 놓은 것이고, prefix는 다른 값으로도 사용할 수 있다.)
주의할 점은 @Value
어노테이션을 활용해 값을 바인딩 하는것과 다르게, 반드시 setter 메소드를 필요로 한다.@ConfigurationProperties
는 setter 메소드를 사용해 설정값을 바인딩 하기 때문이다. 여기서는 클래스에 @Setter
롬복 어노테이션을 사용해 한번에 정의했다.
1 |
|