@EnableConfigurationProperties 란?
왜 @EnableConfigurationProperties 를 사용하는가?
- 타입 안정성: 프로퍼티를 바인딩하며 IDE 의 컴파일 타임 검사 및 코드 완성 기능을 활용할 수 있어서 오류 발생 여지가 줄어든다.
- 재사용성: 클래스에 속성 집합을 정의하고 언제든 해당 클래스를 재사용할 수 있다.
- 검증: 프로퍼티에 검증 규칙을 쉽게 추가할 수 있다.
- 관리의 용이성: 관련된 프로퍼티를 클래스로 그룹핑하면서, 코드베이스를 더 정리되고 유지보수하기 좋은 상태로 유지할 수 있다.
사용법
@Configuration 애노테이션과 함께 사용한다.
@Configuration
@EnableConfigurationProperties(MyProperties.class)
public class AppConfig {
}
@SpringBootApplication 내부에도 @Configuration 이 정의되어 있어 이렇게 써도 된다.
@EnableConfigurationProperties(AppProperties.class)
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
}
}