很多开发者在使用Spring Boot进行开发的时候可能会使用到配置,先在application.properties中配置,然后在具体使用的类中使用@Value注解获取值。当配置太多的时候,就会用到@ConfigurationProperties来直接加载多个配置项。
但是在使用的时候可能会存在idea不提示配置,配置是正确的,但是还是显示黄色的警告波浪线
在使用到@ConfigurationProperties的类中也会在顶部出现Spring Boot Configuration Annotation Processor not configured,然后选择Open Documentation打开链接的时候,地址是错误的,正确的地址:https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/appendix-configuration-metadata.html#configuration-metadata
出现这种问题是因为缺少引入spring-boot-configuration-processor包的依赖
Maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
Gradle 4.5及其之前的版本
dependencies {
compileOnly "org.springframework.boot:spring-boot-configuration-processor"
}
Gradle 4.6及其之后的版本
dependencies {
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
}
在配置依赖并且刷新依赖之后在@ConfigurationProperties类会出现:Re-run Spring Boot Configuration Annotation Processor to update generated metadata,这时候只需要Hide隐藏就可以了
在idea中配置项目生成注解
如果你是用的是gradle,执行gradle booJar之后,会在classes下生成spring-configuration-metadata.json文件,如果对这个文件不了解的,可以去搜索一下Spring Boot Starter开发之类的教程进行了解,这个文件里面存储的是配置的描述信息
最后你会发现配置已经没有警告,并且已经能提示了