作者:晓志1998_809 | 来源:互联网 | 2022-12-26 18:11
无法解析配置属性'...
通过@Value注释或通过自动装配的环境访问我的属性没有问题.但是我自己定义的所有属性都在IDEA中发出此警告.我应该怎么做才能让IDEA认识到这些而不是打扰我?
1> Igor Akkerma..:
为了让IntelliJ IDEA知道您的Spring Boot属性,您可以在项目中定义Spring Boot配置元数据.
选项1:
如果可以@ConfigurationProperties
为属性使用带注释的类,则可以将Spring Boot配置注释处理器添加到类路径中,IntelliJ IDEA将为您生成配置元数据target
或out
:
Maven的:
org.springframework.boot
spring-boot-configuration-processor
true
摇篮:
implementation 'org.springframework.boot:spring-boot-configuration-processor'
选项2:
自己创建配置元数据文件src/main/resources/META-INF/spring-configuration-metadata.json
:
内容:
{
"properties": [
{
"name": "myapp.someprop",
"type": "java.lang.String"
},
{
"name": "myapp.someintprop",
"type": "java.lang.Integer"
}
]
}
选项1和2:
在构建系统(Maven/Gradle)的IntelliJ IDEA工具窗口中,单击"刷新"按钮.
选择Build > Rebuild Project
从菜单.
如果仍出现警告,则可以尝试重新启动IDE.选择File > Invalidate Caches / Restart
并单击Invalidate and Restart
.
这正是我所需要的!我选择了2!
仅供参考。Spring参考>附录B.配置元数据:https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html
我强烈建议使用选项1(@ConfigurationProperties和注释处理器),因为它可以节省繁琐且易于出错的元数据文件手写。而且,在初始设置之后,它比@Value注释更容易使用。