본문 바로가기
Spring

[Spring] Spring Boot Configuration Annotation Processor not configured 해결 방법

by 노력남자 2023. 2. 10.
반응형

문제

 

@ConfigurationProperties 테스트 중에 IntelliJ가 "Spring Boot Configuration Annotation Processor not configured" 경고 문구를 띄워줬다.

 

 

경고 문구가 있어도 실행엔 문제는 없다. 근데 거슬린다.

 

원인

 

원인을 찾아보니 여기서 찾을 수 있었다.

 

spring-boot-configurtation-processor를 이용하면 쉽게 @ConfigurationProperties를 사용할 수 있다고 추천해주려고 경고를 띄워주는 거 같다.

 

해결책

 

build.gradle의 dependencies에 spring-boot-configurtation-processor를 추가해주자.

 

annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
kapt("org.springframework.boot:spring-boot-configuration-processor")

 

gradle build하고 다시 보면 

 

 

와 같이 나온다. 그냥 꺼주자.

 

추가

 

spring-boot-configurtation-processor를 추가하면 어떤 걸 할 수 있는지 찾아봤다.

 

@ConfigurationProperties 어노테이션에만 반응한다.

 

@ConstructorBinding
@ConfigurationProperties(prefix = "user")
class ServerProperties(
    val name: String,
    val password: String
)

 

위와 같이 클래스를 만든 후 gradle kaptKotlin 그래들 명령어를 실행 시켜주면

 

{
  "groups": [
    {
      "name": "user",
      "type": "com.example.demo.ServerProperties",
      "sourceType": "com.example.demo.ServerProperties"
    }
  ],
  "properties": [
    {
      "name": "user.name",
      "type": "java.lang.String",
      "sourceType": "com.example.demo.ServerProperties"
    },
    {
      "name": "user.password",
      "type": "java.lang.String",
      "sourceType": "com.example.demo.ServerProperties"
    }
  ],
  "hints": []
}

 

위와 같은 파일이 생겨난다.

 

위 파일이 생성되면 아래와 같이 yml 파일에 자동완성이 가능해진다.

 

반응형

댓글