spring-boot-configuration-processor

배세훈·2021년 9월 5일
1

Spring

목록 보기
18/38

Spring Boot Configuration Processor란?

@ConfigurationProperties를 사용하기 위한 의존성이다.
클래스에 @ConfigurationProperties를 지정하게 되면 application.yml 파일의 값을 읽어와서 멤버변수에 자동으로 할당한다.

이 때 application.yml의 key와 일치하는 멤버변수가 연결되는데 application.yml 파일의 key값이 user-id 과 같이 중앙 하이픈(-)이 포함된 경우 카멜표기법으로 변환된 key가 멤버변수와 연결된다.

ex) application.yml

common:
	name: ...
    user-id: ...
    

ex) class

@Component
@ConfigurationProperties(prefix="common")
@Getter
@Setter
public class TestConfig{
	private String name;
    private String userId;
}

다른 클래스에서 사용하기 위해서는 빈으로 등록되어야 하고 이에 @Component로 정의되어야 한다.
@Setter가 있어야 application.yml 값이 자동주입된다.
주입된 데이터를 사용하려면 @Getter도 당연히 있어야 한다.

  • SpringBoot를 사용할 경우 @EnableConfigurationProperties를 정의할 필요가 없다.
  • SpringBoot의 자동구성에 기본적으로 포함되어 있기 때문이다.
  • SpringBoot 2.2 부터는 @ConfigurationProperties 클래스들을 모두 찾아서 등록해주므로 @Component 혹은 @Configuration과 같은 어노테이션이나 @EnableConfigurationProperties를 붙일 필요가 없다.
profile
성장형 인간

0개의 댓글