개요
이번 포스팅에서는 @EnableConfigurationProperties를 @ConfigurationProperties 와 함께 알아보겠습니다.
1. @EnableConfigurationProperties란?
Spring Boot에서 사용되는 어노테이션입니다. 해당 어노테이션을 사용하면 @ConfigurationProperties로 빈을 등록하여 속성 값을 바인딩 할 수 있습니다.
예제 코드로 접근해보자
application.properties에 다음과 같은 속성 값들이 존재한다고 가정해봅시다.
app.name = MyApp
app.version = 1
JavaScript
복사
이를 @ConfigurationProperties를 통해 자바 객체로 바인딩 할 수 있습니다.
@ConfigurationProperties(prefix = "app")
public record AppProperties(String name, int version){
}
JavaScript
복사
이제 Config 파일에서 위 객체를 빈으로서 등록해줍니다.
@Configuration
@EnableConfigurationProperties(AppProperties.class)
public class AppConfig {
// ...
}
JavaScript
복사
이제 AppProperties 는 외부 설정 파일의 속성과 바인딩되므로, 애플리케이션 내에 주입하여 사용 가능합니다.
@Service
@RequiredArgsConstructor
public class AppService {
private final AppProperties appProperties;
public void printProperties(){
System.out.printn(appProperties.getName());
System.out.printn(appProperties.getVersion());
}
}
JavaScript
복사