【问题标题】:SpringBoot unknown property in application.propertiesapplication.properties 中的 Spring Boot 未知属性
【发布时间】:2017-09-19 15:31:36
【问题描述】:

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

我将此属性放在我的 application.properties 中

default.to.address=nunito.calzada@gmail.com

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

我应该把这个属性放在另一个属性文件中吗?

【问题讨论】:

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


    【解决方案1】:

    这是因为它是由 STS 属性编辑器打开的,该编辑器会验证属性以及其他内容。将它放在 application.properties 文件中并没有什么坏处,您甚至可以为该属性添加自己的元数据。

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

    【讨论】:

      【解决方案2】:

      我在 application.properties 中也遇到了同样的警告,并正在寻找一种方法来摆脱这种情况。寻找答案把我带到了这里。所以我发布了我的答案;它可能有用。

      在 application.properties 中使用您的自定义属性并没有什么坏处。有两种方法可以摆脱这个 -

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

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

      【讨论】:

      • 在 STS 4 中似乎不再可能了,我已经提出了一个关于它的问题 github.com/spring-projects/sts4/issues/654
      • 我对我上次的回复进行了更正:在 STS 4.11 中,您将在 Window -> Preferences -> Language Servers -> Spring Language Servers -> Spring Boot Language Servers -> Yaml Editor or Properties Editor 中找到此选项。
      【解决方案3】:

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

      在 application.properties 中添加您的新属性: default.to.address=nunito.calzada@gmail.com 将鼠标悬停在新属性上,您会看到一个“快速修复工具提示”,建议您添加新属性:为“default.to.address”创建元数据。

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

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

      现在你的对象字段应该用属性值来赋值。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-05-17
            • 2016-08-10
            • 2016-09-23
            • 2018-09-27
            • 1970-01-01
            • 2013-12-02
            • 2020-06-22
            相关资源
            最近更新 更多