application.properties中的SpringBoot未知属性

时间:2017-04-22 18:15:43

标签: java spring spring-mvc spring-boot properties-file

我使用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.

中收到了此警告

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

5 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:5)

我在application.properties中也有相同的警告,正在寻找一种方法来消除这种情况。寻找答案已经把我引到了这里。因此,我发布了答案;这可能很有用。

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

  1. 如答案之一所述,您可以添加自定义属性的元数据(手动或在STS中使用快速修复)。

  2. 如果不想添加元数据,则在STS中,转到“窗口”->“首选项”->“弹簧”->“引导”->“属性”编辑器。在这里,选择“未知属性”作为忽略。默认情况下,它是警告。

答案 2 :(得分:2)

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

在applciation.properties中添加新属性:     default.to.address=nunito.calzada@gmail.com 将鼠标悬停在新属性上,您会看到" quickfixes工具提示"建议您添加新属性:为' default.to.address'创建元数据。

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

arr = np.arange(16).reshape(4,4)

>>array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

np.where(arr == 1)

>>(array([0]), array([1]))

arr[0][1]

>>1

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

答案 3 :(得分:2)

您需要使用spring-boot-configuration-processor来为您生成配置元数据。

查看示例:https://www.baeldung.com/spring-boot-configuration-metadata

答案 4 :(得分:1)

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