Spring
ConfigurationProperties 으로 안정적인 설정값 사용하기
codinglog
2023. 9. 14. 10:46
spring boot 를 사용하면 application.properties 에 속성을 설정하여 @Value 애노테이션으로 참고하여 사용할 수 있다. 인텔리제이 유료버전에서는 속성값 검증이 어느정도 되는데 프로퍼티 작성시에 자동 완성 기능이 동작하지는 않는다.
속성에 대한 구조, 항목을 클래스로 정의하고 appication.properies 에 정의할 때 자동 완성 기능을 할 수 있도록 해보자.
spring-boot-configuration-processor 추가
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
프로퍼티 클래스 정의
@ConfigurationProperties(prefix = "cothe")
public class MyProperty {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
프로퍼티 클래스 정의 스캔 설정
@SpringBootApplication
@ConfigurationPropertiesScan // 추가
public class ConfigPropertiesPracApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigPropertiesPracApplication.class, args);
}
}
설정 값 넣기
cothe.name=KIM
설정 값 사용
public class DomainService {
private final MyProperty myProperty;
public DomainService(MyProperty myProperty) {
this.myProperty = myProperty;
}
public String getMyProperty() {
return myProperty.getName();
}
}
반응형