@EnableConfigurationProperties란?

건도리 ·2023년 8월 30일
0

Spring

목록 보기
12/12
post-thumbnail

개요

이번 포스팅에서는 @EnableConfigurationProperties@ConfigurationProperties 와 함께 알아보겠습니다.

@EnableConfigurationProperties란?

Spring Boot에서 사용되는 어노테이션입니다. 해당 어노테이션을 사용하면 @ConfigurationProperties로 빈을 등록하여 속성 값을 바인딩 할 수 있습니다.

쉽게 설명하면 프로젝트 생성 시 설정하게 되는 application.properties 혹은 application.yml의 속성들을 자바 객체에 바인딩 할 수 있습니다.

예제 코드로 접근해보자

application.properties에 다음과 같은 속성 값들이 존재한다고 가정해봅시다.

app.name = MyApp
app.version = 1

이를 @ConfigurationProperties를 통해 자바 객체로 바인딩 할 수 있습니다.

@ConfigurationProperties(prefix = "app")
public record AppProperties(String name, int version){

}

이제 Config 파일에서 위 객체를 빈으로서 등록해줍니다.

@Configuration
@EnableConfigurationProperties(AppProperties.class)
public class AppConfig {
 	 // ...
}

이제 AppProperties 는 외부 설정 파일의 속성과 바인딩되므로, 애플리케이션 내에 주입하여 사용 가능합니다.

@Service
@RequiredArgsConstructor
public class AppService {
	private final AppProperties appProperties;

	public void printProperties(){
		System.out.printn(appProperties.getName());
		System.out.printn(appProperties.getVersion());
	}
}
profile
배움이 즐거워요 ! 함께 그 즐거움을 나눴으면 좋겠습니다 :)

0개의 댓글