Spring Boot @ConfigurationProperties 在idea中的代码提示

很多开发者在使用Spring Boot进行开发的时候可能会使用到配置,先在application.properties中配置,然后在具体使用的类中使用@Value注解获取值。当配置太多的时候,就会用到@ConfigurationProperties来直接加载多个配置项。

但是在使用的时候可能会存在idea不提示配置,配置是正确的,但是还是显示黄色的警告波浪线


配置显示警告.png

在使用到@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

代码显示警告.png

出现这种问题是因为缺少引入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"
}
依赖配置.png

在配置依赖并且刷新依赖之后在@ConfigurationProperties类会出现:Re-run Spring Boot Configuration Annotation Processor to update generated metadata,这时候只需要Hide隐藏就可以了


代码正确的配置.png

在idea中配置项目生成注解


idea配置.png

如果你是用的是gradle,执行gradle booJar之后,会在classes下生成spring-configuration-metadata.json文件,如果对这个文件不了解的,可以去搜索一下Spring Boot Starter开发之类的教程进行了解,这个文件里面存储的是配置的描述信息


spring-configuration-metadata.json.png

最后你会发现配置已经没有警告,并且已经能提示了


正确的配置.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容