application.properties中的SpringBoot未知属性

问题描述 投票:5回答:4

我使用Spring Initializr使用嵌入式Tomcat + Thymeleaf模板引擎生成了一个Spring Boot Web应用程序。

我把这个属性放在我的application.properties中

[email protected]

我正在使用Spring Tool Suite版本:3.8.4.RELEASE作为开发环境,但我在编辑器'default.to.address' is an unknown property.中收到此警告

我应该将此属性放在另一个属性文件中吗?

java spring spring-mvc spring-boot properties-file
4个回答
6
投票

这是因为它是由STS属性编辑器打开的,它可以验证属性等。在application.properties文件中使用它没有任何害处,您甚至可以为该属性添加自己的元数据。

http://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html


5
投票

我在application.properties中也有相同的警告,并寻找摆脱这种方法的方法。寻找答案让我在这里。所以我发布了我的答案;它可能有用。

在application.properties中使用自定义属性没有任何害处。有两种方法可以摆脱这种情况 -

  1. 如其中一个答案中所述,您可以为自定义属性添加元数据(手动或在STS中使用快速修复)。
  2. 如果您不想添加元数据,那么在STS中,转到Window - > preferences - > spring - > boot - > properties editor。在这里,选择'unknown property'作为ignore。默认情况下,它是警告。

2
投票

我使用此方法在application.properties文件中添加属性。

在applciation.properties中添加新属性:[email protected]将鼠标悬停在新属性上,您将看到一个“quickfixes tooltip”,它建议您添加新属性:为'default创建元数据。讲话'。

然后,浏览要绑定属性的类和字段,并添加此批注:

@Value("${default.to.address}")
private String address;

现在,您的对象字段应使用属性值进行估值。


1
投票

您应该尝试在Environment中添加这些值,而不是application.properties,因为您可以随时更新值而无需进行编译更改/重新部署更改。 application.properties可能对您永远不会更改的属性(如数据库凭据)更有益。

© www.soinside.com 2019 - 2024. All rights reserved.