为啥要弃用 @ConfigurationProperties 中的方法位置?
Posted
技术标签:
【中文标题】为啥要弃用 @ConfigurationProperties 中的方法位置?【英文标题】:Why did deprecate method locations in @ConfigurationProperties?为什么要弃用 @ConfigurationProperties 中的方法位置? 【发布时间】:2017-06-30 08:11:04 【问题描述】:我正在尝试在 Spring Boot 中配置多个“.yml”,例如...
application.yml
spring:
profile: local
api.yml
spring:
profile: local
myapi:
url: localhost/...
所以,我在 @ConfigurationProperties 中找到了位置方法。 但是,它在 1.4.x 中已被弃用
Deprecated. as of 1.4 in favor of configuring the environment directly with additional locations
我该如何配置这种情况?
【问题讨论】:
【参考方案1】:您可以使用spring.config.name
更改将要查找的配置文件名称。可以使用逗号分隔的列表配置多个名称。在您的情况下,您希望将其设置为 application,api
。
【讨论】:
不幸的是,这不适用于我们所有的@SpringBootTest
类,因为没有设置属性spring.config.name
。另一种方法是通过properties
属性在所有带注释的测试类中显式设置它。但对我来说,这似乎效率低下。你有一个同样适用于测试的解决方案吗?提前致谢!
您可以使用一个通用的超类来设置它,或者使用一个 ContextCustomizer 将 PropertySource 添加到应用程序上下文的环境中
好的。谢谢,我会试试看。
这个问题是我可能想在第三个模块中使用配置,因此可以使用带有注释的 IoC 注入它们,这种新方式使客户端应用程序明确知道要进行哪些配置已加载以上是关于为啥要弃用 @ConfigurationProperties 中的方法位置?的主要内容,如果未能解决你的问题,请参考以下文章
Docker不香?为什么阿里要弃用它?只能说阿里这套Kubernetes手册更香
GitHub 官宣:弃用 trending 热榜,开发者炸锅了
GitHub 官宣:弃用 trending 热榜,开发者炸锅了