网站模板和定制logo设计图片免费 图案 简约
web/
2025/9/26 13:53:55/
文章来源:
网站模板和定制,logo设计图片免费 图案 简约,济南网页开发公司,第三方推广平台在简要介绍了配置元数据并涵盖了我之前的文章《 在Spring Boot中使用配置元数据Pimp您的配置》中的基础知识之后#xff0c;现在该看看如何进一步执行此步骤并进一步自定义配置。 在这篇文章中#xff0c;我计划提出对配置属性的弃用#xff0c;并讨论各种值提供程序#x… 在简要介绍了配置元数据并涵盖了我之前的文章《 在Spring Boot中使用配置元数据Pimp您的配置》中的基础知识之后现在该看看如何进一步执行此步骤并进一步自定义配置。 在这篇文章中我计划提出对配置属性的弃用并讨论各种值提供程序这些值提供程序允许我经历过最舒适的应用程序配置之一在尝试写出完整内容的同时在配置中打错字的时代已经过去了。合格的类名称或资源路径–让我们高兴。 弃用财产 在进行配置时一种确定的招致麻烦的方法是引入突然的无记录的重大更改这些更改可能导致应用程序初始化或运行时失败。 Spring Boot引入了一个选项用于标记和记录要弃用的属性以应对这种情况。 秉承简单声明的精神一旦准备好一个新的替换属性您要做的就是将deprecation JSON节点添加到property additional-spring-configuration-metadata.json文件的property描述中 弃用财产 ...
{name: my.property,defaultValue: something,deprecation: {replacement: my.new-property,reason: This property is no longer needed.}
}
... 重新编译项目后支持此功能的工具将获取更改并根据其设置反映出来。 下图描绘了可用配置属性的列表其中已弃用的属性已明确标记。 如果您已经在属性文件中的某个位置使用了不推荐使用的属性则基于您使用的颜色主题和IDE事情可能会变得有些奇怪。 我喜欢将IDEA与黑曜石主题结合使用从而突出显示以下文本。 它本来可以做得更好但是一旦您习惯了它并理解了每种颜色代表什么就没有问题了。 请记住一点。 您也可以更深入地了解为什么将此属性标记为不推荐使用。 只需调用此属性的文档默认情况下通过在IDEA中按CTRL Q您将看到类似于此窗口的内容该窗口呈现了我先前在additional-spring-configuration-metadata.json文件中定义additional-spring-configuration-metadata.json 。 该查找适用于所有属性并且取决于您的代码和其他配置元数据获得的详细程度和描述性。 链接到应该替换/替换当前属性的属性特别有用。 这意味着您可以使用意图操作在IDEA中默认情况下通过按ALT ENTER调用并执行已淘汰属性的单次替换。 万一属性值可以保持不变您已经做好了一切。 否则您还需要更新该值。 漂亮整齐 价值提供者 值提供程序仅可用于手动提供的提示使用文件additional-spring-configuration-metadata.json 。 Spring Boot将它们定义为一种描述属性潜在值列表的方法通过关联提供程序以将明确定义的语义附加到属性以便工具可以根据项目的上下文发现潜在值列表。 这听起来可能有点含糊但是它确实是很酷的功能它使您可以利用类层次结构资源结构或Spring自己的上下文中的几乎所有方面。 类参考 让我们从一个非常简单但非常实用的东西开始-类引用提供程序。 如果我想根据应用程序的部署位置来配置应在应用程序中使用哪种策略我可以实施几种策略实现并创建一个属性来捕获这一部分配置。 我的每个策略都实现一个IStrategy接口。 通过在hints additional-spring-configuration-metadata.json文件的hints部分中提供一个简单的提供程序声明我可以大大简化该属性的填写。 类引用的例子 ...{name: my.strategy,providers: [{name: class-reference,parameters: {target: com.jakubstas.s3downloader.strategy.IStrategy}}]}
... 更新手动输入的元数据并重新编译项目后策略属性将显示在可用属性列表中。 这里没有新内容。 但是当涉及到值选择时可用值列表仅限于已定义接口的实现。 当您需要配置要使用的类/实现或配置的任何其他方面时这将很有用。 很棒的事情是您不必费心为每个可用的类提供其他描述因为您仍然可以使用文档查找操作通过在IDEA中默认按CTRL Q。 这使开发人员可以简单地浏览可用选项并非常舒适地选择最适合的选项而不会费力。 处理为 请像处理另一个很酷的提供程序一样处理。 它允许您将属性的类型替换为更高级的类型。 这只是一种幻想的表达方式您希望您的IDE将此字符串属性视为“资源”而无需对任何给定的框架类可能不在类路径上创建显式依赖。 与先前讨论的提供程序相比此提供程序就像变色龙–它允许自动完成诸如字符集mime类型枚举语言环境或资源之类的东西并且还支持集合的使用。 话虽这么说我们可能希望在我们的应用程序中使用不同的条款和条件信息并且还能够在每个版本的不同版本之间进行切换而无需发布整个程序。 我的配置中引入了新属性来支持此要求。 通过像在此代码段中那样在Additional additional-spring-configuration-metadata.json的hints部分中提供一个简单的提供程序声明我将只能浏览我的资源并快速导航到我要使用的文件。 将属性作为资源处理 ...{name: my.terms-and-conditions,providers: [{name: handle-as,parameters: {target: org.springframework.core.io.Resource}}]}
... 呈现给您的第一件事是您要使用的资源类型的选择是的它支持资源字符串前缀:)。 我想使用classpath资源然后导航至文件。 由于您可能希望将文件夹本身用作资源因此需要自己提供文件分隔符。 其他 还有其他一些价值提供者值得一试我将不像前两个那样详细讨论。 让我们快速看一下我们还能使用什么 任何 允许提供任何附加值。 记录器名称 自动填写有效的记录器名称。 Spring Bean参考 自动完成当前项目中的可用bean名称。 Spring资料名称 自动完成项目中可用的Spring概要文件名称。 有关更多信息请参阅附录B。 结论 这就是我在Spring Boot中关于配置元数据支持的全部内容。 我希望这两篇文章能激发您对这项功能进行自己的研究并尝试一下。 老实说设置起来并不难它使您的生活更轻松。 尽管这不是解决应用程序配置所有问题的万能解决方案但我还是愿意像今天这样利用增量改进。 您对这种配置方法有何经验 让我知道在评论部分。 翻译自: https://www.javacodegeeks.com/2016/02/advanced-config-configuration-meta-data-spring-bootstrap.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82228.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!