- application.properties 아래와 같이 설정되어 있다고 전제한다.
setting1.prop1=value1
setting1.prop2=value2
- 설정파일을 빈에서 자동로드하여 사용하기 위해서는 아래와 같은 형식으로 클래스를 정의한다. 생성자를 사용하여 초기화하기 위해 @ConstructorBinding, @RequiredArgsConstructor 어노테이션을 추가했다.
※ @RequiredArgsConstructor 초기화 되지 않은 final 필드와 @NonNull 어노테이션이 붙은 필드의 생성자 생성, @AllArgsConstructor 모든 필드에 생성자 생성
@RequiredArgsConstructor
@ConstructorBinding
@Getter
@ConfigurationProperties(prefix="setting1")
public class CustomSetting {
private final String prop1;
private final String prop2;
}
- CustomSetting을 Bean으로 사용하기 위해, @SpringBootApplication 어노테이션이 정의된 클래스에 @EnableConfigurationProperties 어노테이션을 추가한다.
@EnableConfigurationProperties(CustomSetting.class)