application.properties中的SpringBoot未知属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了application.properties中的SpringBoot未知属性相关的知识,希望对你有一定的参考价值。
我使用Spring Initializr使用嵌入式Tomcat + Thymeleaf模板引擎生成了一个Spring Boot Web应用程序。
我把这个属性放在我的application.properties中
default.to.address=nunito.calzada@gmail.com
我正在使用Spring Tool Suite版本:3.8.4.RELEASE作为开发环境,但我在编辑器'default.to.address' is an unknown property.
中收到此警告
我应该将此属性放在另一个属性文件中吗?
这是因为它是由STS属性编辑器打开的,它可以验证属性等。在application.properties文件中使用它没有任何害处,您甚至可以为该属性添加自己的元数据。
http://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html
我在application.properties中也有相同的警告,并寻找摆脱这种方法的方法。寻找答案让我在这里。所以我发布了我的答案;它可能有用。
在application.properties中使用自定义属性没有任何害处。有两种方法可以摆脱这种情况 -
- 如其中一个答案中所述,您可以为自定义属性添加元数据(手动或在STS中使用快速修复)。
- 如果您不想添加元数据,那么在STS中,转到Window - > preferences - > spring - > boot - > properties editor。在这里,选择'unknown property'作为ignore。默认情况下,它是警告。
我使用此方法在application.properties文件中添加属性。
在applciation.properties中添加新属性:default.to.address=nunito.calzada@gmail.com将鼠标悬停在新属性上,您将看到一个“quickfixes tooltip”,它建议您添加新属性:为'default创建元数据。讲话'。
然后,浏览要绑定属性的类和字段,并添加此批注:
@Value("${default.to.address}")
private String address;
现在,您的对象字段应使用属性值进行估值。
您应该尝试在Environment中添加这些值,而不是application.properties,因为您可以随时更新值而无需进行编译更改/重新部署更改。 application.properties可能对您永远不会更改的属性(如数据库凭据)更有益。
以上是关于application.properties中的SpringBoot未知属性的主要内容,如果未能解决你的问题,请参考以下文章
@Autowired 基于 application.properties 中的属性
SpringBoot 中 application.properties 中的 @Value 始终为 null
Spring Boot application.properties 中的日志级别问题
是否可以根据springboot中application.properties中的前缀创建多个bean