无法找到将 spring.config.location 的行为恢复到较旧的 Spring Boot 版本的原因
Cant find the reason that reverts the behavior of spring.config.location to older Springboot versions
我们有一个部署环境,它使用 to/uses -spring.config.location=app.properties
属性 来提供配置位置。就像这个 & this one github-br 中提到的,我不知道对于我当前的 spring 引导版本,即 2.2.5.RELEASE
,属性行为已经改变。正如预期的那样,我们必须使用 spring.config.additional-location
以便它也从 jar 中选择默认值。
然而,问题是对于同一环境中具有相同 spring 启动版本的另一个应用程序,即 2.2.5.RELEASE spring.config.location
的行为是旧的方式。所以我仍然想知道这是怎么发生的,例如。由于其他应用程序具有而我们的应用程序没有的其他依赖项?
我不知道给出什么代码示例,因为我不知道什么代码导致行为恢复到旧版本。但是,我可以看到这两个应用程序的实现之间存在一些差异:
- 另一个应用程序使用@Value 注释。我们的应用程序使用 @ConfigurationProperties 加载 属性 值。我尝试使用它,但配置位置行为没有恢复。
- 在某些 类 上,他们使用了
@PropertySource(value = "classpath:application.properties")
- 其他应用程序相对较旧,他们一直在升级 spring 引导版本,如果有任何不同的话。
这些是我目前可以发现的一些差异。但是不确定是什么导致了这种行为变化,请帮忙。
我怀疑是 @PropertySource
的使用导致了行为上的差异。 @PropertySource("classpath:application.properties")
将从在类路径中找到的第一个 application.properties
资源加载属性,而不管 spring.config.location
和 spring.config.additional-location
是如何配置的。
我们有一个部署环境,它使用 to/uses -spring.config.location=app.properties
属性 来提供配置位置。就像这个 2.2.5.RELEASE
,属性行为已经改变。正如预期的那样,我们必须使用 spring.config.additional-location
以便它也从 jar 中选择默认值。
然而,问题是对于同一环境中具有相同 spring 启动版本的另一个应用程序,即 2.2.5.RELEASE spring.config.location
的行为是旧的方式。所以我仍然想知道这是怎么发生的,例如。由于其他应用程序具有而我们的应用程序没有的其他依赖项?
我不知道给出什么代码示例,因为我不知道什么代码导致行为恢复到旧版本。但是,我可以看到这两个应用程序的实现之间存在一些差异:
- 另一个应用程序使用@Value 注释。我们的应用程序使用 @ConfigurationProperties 加载 属性 值。我尝试使用它,但配置位置行为没有恢复。
- 在某些 类 上,他们使用了
@PropertySource(value = "classpath:application.properties")
- 其他应用程序相对较旧,他们一直在升级 spring 引导版本,如果有任何不同的话。
这些是我目前可以发现的一些差异。但是不确定是什么导致了这种行为变化,请帮忙。
我怀疑是 @PropertySource
的使用导致了行为上的差异。 @PropertySource("classpath:application.properties")
将从在类路径中找到的第一个 application.properties
资源加载属性,而不管 spring.config.location
和 spring.config.additional-location
是如何配置的。