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中使用自定义属性没有任何害处。有两种方法可以摆脱这种情况 -

  1. 如其中一个答案中所述,您可以为自定义属性添加元数据(手动或在STS中使用快速修复)。
  2. 如果您不想添加元数据,那么在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

Spring Boot 项目中的 application.properties 文件在哪里?

Spring Boot 无法读取 Docker 中的 application.properties