当前位置: 首页 > 知识库问答 >
问题:

在Spring Boot JavaBean属性绑定中使用访问器

令狐宏伟
2023-03-14

我正在使用@configurationproperties将属性绑定到Spring Boot项目中的java bean,如下所示:(示例摘自spring文档)

@ConfigurationProperties("acme")
public class AcmeProperties {

    private boolean enabled;

    private InetAddress remoteAddress;

    private final Security security = new Security();

    public boolean isEnabled() { ... }

    public void setEnabled(boolean enabled) { ... }

    public InetAddress getRemoteAddress() { ... }

    public void setRemoteAddress(InetAddress remoteAddress) { ... }

但是在Spring Boot Docs中有一个警告

映射到Spring Boot中可用的@ConfigurationProperties类的属性(通过属性文件、YAML文件、环境变量等配置)是公共API,但类本身的访问器(getter/setter)并不意味着直接使用。

共有1个答案

司徒焕
2023-03-14

本文档特别提到了用@configurationproperties注释的内部Spring Boot类。我同意该文档令人困惑,但您可以从下面的Spring Boot GitHub问题注释中看出该文档的意图:

  • 不管有什么问题,请不要从我们的@configurationproperties扩展,尤其是使用相同的前缀。
  • 注释处理器需要有能够提取默认值和文档之类的东西的源代码。通过扩展编译上下文之外的类,您将无法获得一致的元数据集(更糟糕的是,它们会在您的示例中重复)。

https://github.com/spring-projects/spring-boot/issues/10713#issuecomment-338193282

我们已经记录了@configurationproperties在#16704中不是公共API,因此包括从它们扩展。看看当前的文档,我觉得没有必要添加更明确的内容。

https://github.com/spring-projects/spring-boot/issues/10713#issuecomment-533154033

GitHub问题#16704导致提交47A9BB1,该提交添加了此文档。

 类似资料:
  • 我们知道,在 CampusBuilder 中创建的物体,只有在编辑了 UserID、Name 或者自定义属性后,导入到 ThingJS 中才能成为独立的管理对象,被程序读取或修改。 从 CampusBuilder 导入的用户自定义的属性可通过 userData 属性访问到。 访问自定义属性的语法 obj.userData[propertyName]; 其中,propertyName 为自定义属

  • javafx属性是将数据模型连接到javafx gui的好方法,因为它们的绑定模型实现了强大的通知更新机制。 属性和绑定并不严格地与GUI相关,而是对JavaBeans的扩展。 因此,我们希望在应用程序模型类中使用它们,而不引入对包的依赖关系,并且通常来自. 换句话说:(update) 我可能需要将应用程序分成两个模块。 一个模块应该只包含操作数据的类(模型类,说MVC)。 第二个模块将包含所有图

  • 问题内容: 因此,我可以使用进行访问,但如何访问? 问题答案: 您可以这样操作:

  • 问题内容: 是否可以在SASS中访问HTML属性值?我有一行代码说 哪里是一些jQuery东西的结果。我需要计算一些CSS。如何将其另存为SASS变量? 或者,是否可以计算某个父元素的子元素数量?说我有这段代码: (您可能已经猜到了,matches的值与列表项的数量匹配。)SASS可以对列表项进行计数并将该数字保存为变量吗? 任何想法将不胜感激。 问题答案: Sass只是CSS生成器。它实际上并没

  • 我正在查询如下所示的帖子: 这将返回product类型的所有post。但我在wooCommerce中创建的产品上有自定义属性,但我似乎在任何地方都找不到这些信息。 我尝试使用: 我还尝试: 当我print_r这些我得到了很多信息但我不能看到的产品属性从WooCommerce任何地方 下图显示了如何在产品上设置此信息。 查询帖子后如何访问此信息?特别是我需要提取的颜色和大小。