Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- database
- LOG4J
- Git
- gson
- nodejs
- nginx
- VSCode
- useEffect
- mybatis
- springboot
- JavaScript
- react
- wildfly
- log4j2
- BPMN
- docker
- kubectl
- Kubernetes
- intellijIDEA
- JPA
- dbeaver
- Java
- gradle
- MySQL
- jetbrains
- tibero
- Spring
- Windows
- IntelliJ
- NCP
Archives
- Today
- Total
두 손끝의 창조자
ConfigurationProperties 으로 안정적인 설정값 사용하기 본문
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();
}
}
반응형
Comments