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