我有一个jar文件,其下面有类来加载一些属性 -
@ConfigurationProperties(prefix = "common-list")
@Configuration
@Component
public class CommonConfig{
...
}
在我的春季启动项目中,上面的类/ jar是一个依赖项
如何指定在我的项目中加载此属性“common-list”的位置?
OR
我是否需要修改类/ jar,使用PropertySource注释指定属性文件在哪里查找这些公共列表值?
我有bootstrap.properties以及以下行 -
spring.application.name=xyz
配置服务器上的xyz.yaml
common-list:
...
通过查看我的spring启动应用程序的env属性,我可以看到文件被拾取并加载。但CommonConfig实例不会使用这些文件值进行初始化。
正确组织值,因为我已经通过在创建jar的同一项目中构建spring boot测试应用程序来测试它们(所有值都在CommonConfig实例中正确填充)。
更新(已解决)
问题是将我的对象转换为错误的json字符串,这导致建议进入默认路由而不是选择正确的值。
答案 0 :(得分:1)
当组件扫描选择此CommonConfig
类时,ConfigurationProperties
注释将基本上注入application.yml
或application.properties
中以前缀common-list.
开头的属性并设置它们。
请参阅DZONE文章here。
答案 1 :(得分:0)
我通过决议更新了上述帖子。
问题不是加载配置属性而是代码。