spring - 找不到将 spring.config.location 的行为恢复为旧 Springboot 版本的原因
问题描述
我们有一个部署环境,它使用 to/uses-spring.config.location=app.properties
属性来提供配置位置。就像在这篇文章和这个github-br中提到的那样,我不知道对于我当前的 springboot 版本,即2.2.5.RELEASE
属性行为已经改变。正如预期的那样,我们必须使用spring.config.additional-location
它才能从 jar 中选择默认值。
然而,问题是对于同一环境中的另一个应用程序,它具有相同的 spring boot 版本,即 2.2.5.RELEASEspring.config.location
是旧的方式。所以我仍然想知道这是如何发生的,例如由于其他应用程序具有而我们的应用程序没有的其他依赖关系?
我不知道要给出什么代码示例,因为我不知道是什么代码导致行为恢复到旧版本。但是,我可以看到这两个应用程序的实现之间存在一些差异:
- 另一个应用程序使用 @Value 注释。我们的应用程序使用 @ConfigurationProperties 来加载属性值。我尝试使用它,但配置位置行为没有恢复。
- 在他们使用过的一些课程上
@PropertySource(value = "classpath:application.properties")
- 其他应用程序相对较旧,如果有任何不同,他们一直在升级 springboot 版本。
这些是我现在可以发现的一些差异。但是不确定是什么导致了这种行为变化,请帮忙。
解决方案
我怀疑它的使用@PropertySource
导致了行为的差异。@PropertySource("classpath:application.properties")
将从类路径上找到的第一个资源加载属性,而application.properties
不管如何配置。spring.config.location
spring.config.additional-location
推荐阅读
- python - 尽管 Python Pandas 中有共享值,但不能将 df2 合并到 df1 吗?
- azure - Azure 功能需要很长时间才能触发
- react-native - 当用户最小化应用程序或屏幕关闭或打开另一个应用程序时,如何保持 React Native 应用程序运行?
- angular - Spring Boot 和 Angular Excel 导出文件名
- php - 使用php设置html输入字段的值
- web-scraping - 不能用漂亮的汤得到元素标签
- javascript - 如何使用 Scroll Magic 在图像顶部制作视差部分
- lua - 为什么 Corona sdk 中会出现此错误?
- android - 如何在motionlayout中为轮播设置适配器
- r - R as.data.frame 多核