Spring Boot – 从依赖jar加载application.properties/yml
我有一个Spring Boot应用程序,我想按特定顺序将值注入@ConfigurationProperties bean。
例如,
@ConfigurationProperties("myproperties") class MyProperties { private String property1; .... }
基application.yml
myproperties: property1: some-value
上面的类和属性文件位于jar文件中。 在我的Spring Boot应用程序的邮件应用程序(它具有上面的jar作为依赖项)中,我使用了@PropertySource(value = { "application.yml", "base-application.yml"})
但在MyProperties
得到了null
值。
我试过了
@PropertySources({ @PropertySource("classpath:application.yml"), @PropertySource("classpath*:base-application.yml") })
同样,但这也不起作用。
如果我在application.yml中添加myproperties.property1值,那么它可以正常工作。 是否可以从另一个jar内的属性文件中注入属性值? 如果是这样,我在这里做错了什么?
无法通过@PropertySource批注加载YAML文件。 因此,如果需要以这种方式加载值,则需要使用属性文件。 在这里查看文档
如果属性文件位于jar的META-INF目录中,则可以按如下方式加载它们:“classpath *:/ META-INF / * .properties”