@ConfigurationProperties
*.properties, *.yml 파일에 있는 property 및 값들을 자바 클래스로 가져와서 사용할 수 있게 해주는 어노테이션
Spring boot에서 필요한 설정들을 *.properties, *.yml 파일에 써두고 관리한다.
- test.properties
obo-test.number=010.1111.2222
obo-test.name=obo
위와 같은 properties 파일이 있다고 가정했을 때 아래와 같이 @Value 어노테이션을 사용하여 바인딩 시킨다.
@Value("${obo-test.number}")
private String number;
@Value("${obo-test.name}")
private String name;
위 방법은 직접 number 및 name을 입력하여 설정해야한다.
아래와 같이 오토 컴플릿을 위한 설정을 하여 사용한다.
1. pom.xml에 dependency 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2. @ConfigurationProperties 어노테이션 사용을 위한 클래스 생성
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import lombok.Data;
@Component
@ConfigurationProperties(prefix="obo-test")
@Data
public class oboTestProperties{
private String number;
private String name;
}
위와 같이 @ConfigurationProperties 어노테이션을 사용하면 공통적인 property 값을 불러와 유연하게 사용할 수 있다.