spring 如何处理多个 属性 文件?
How does spring handle multiple property-files?
在库项目(我将其称为 LIB)中,我想配置一些默认属性。
像这样:
@Configuration
@PropertyResource("classpath:library.yaml")
@ConfigurationProperties(prefix = "com.lib")
public class RemotePropertiesConfig {
private String someProperty;
// getters and setters
}
如果我使用名为 application.yaml 的 属性 文件并且使用我的库的(springboot)应用程序有一个 属性 文件同名,似乎来自 LIB 的 application.yaml 被覆盖了。这就是为什么我希望它在我的 LIB 中有不同的名称。我称之为library.yaml。因此,在配置 class(上方)中,我添加了一个 @PropertyResource() 注释。但是,当我在 springboot 应用程序中对此进行测试时,LIB 中的属性仍然是 null.
是否 Spring 不处理我的 @PropertyResource 注释,因此不加载 library.yaml?
或者
是否加载了library.yaml,但它是否被覆盖了?
或者?
我很无能,因为如果我在 LIB 中有一个 application.yaml 和一个 application.yml[= 它就可以完美地工作38=](注意区别 yml/yaml)在使用我的 LIB 的 springboot 应用程序中。这显然容易出错,因此我不想保留它。
我可能来晚了,但 运行 遇到了类似的问题。有趣的是,springboot 处理 yml 文件的方式与处理 .properties 的方式不同。要让@PropertySource 正确加载yml,您需要提供工厂class.
此外,您在库项目中不使用 application.yml 是正确的,因为它会与以后引用该库项目的应用程序发生冲突。
很少有好的参考,
在库项目(我将其称为 LIB)中,我想配置一些默认属性。
像这样:
@Configuration
@PropertyResource("classpath:library.yaml")
@ConfigurationProperties(prefix = "com.lib")
public class RemotePropertiesConfig {
private String someProperty;
// getters and setters
}
如果我使用名为 application.yaml 的 属性 文件并且使用我的库的(springboot)应用程序有一个 属性 文件同名,似乎来自 LIB 的 application.yaml 被覆盖了。这就是为什么我希望它在我的 LIB 中有不同的名称。我称之为library.yaml。因此,在配置 class(上方)中,我添加了一个 @PropertyResource() 注释。但是,当我在 springboot 应用程序中对此进行测试时,LIB 中的属性仍然是 null.
是否 Spring 不处理我的 @PropertyResource 注释,因此不加载 library.yaml?
或者
是否加载了library.yaml,但它是否被覆盖了?
或者?
我很无能,因为如果我在 LIB 中有一个 application.yaml 和一个 application.yml[= 它就可以完美地工作38=](注意区别 yml/yaml)在使用我的 LIB 的 springboot 应用程序中。这显然容易出错,因此我不想保留它。
我可能来晚了,但 运行 遇到了类似的问题。有趣的是,springboot 处理 yml 文件的方式与处理 .properties 的方式不同。要让@PropertySource 正确加载yml,您需要提供工厂class.
此外,您在库项目中不使用 application.yml 是正确的,因为它会与以后引用该库项目的应用程序发生冲突。
很少有好的参考,