当前位置: 首页 > 知识库问答 >
问题:

外部jar中类的Spring引导配置属性

轩辕煌
2023-03-14

我有一个jar文件,它有下面的类来加载一些属性-

@ConfigurationProperties(prefix = "common-list")
@Configuration
@Component
public class CommonConfig{
...
}

在我的Spring启动项目中,上面的class/jar是一个依赖项。
我如何指定在哪里寻找这个属性“公共列表”来加载我的项目?

我是否需要修改类/jar,并使用属性源注释指定在哪里查找这些公共列表值的属性文件?

我bootstrap.properties以下行-

spring.application.name=xyz

xyz.yaml配置服务器

common-list:
...

通过查看我的spring boot应用程序的env属性,我可以看到该文件已被拾取并加载。但CommonConfig实例不会使用这些文件值进行初始化

通过在创建jar的同一项目中构建spring启动测试应用程序(所有值都正确地填充在CommonConfig实例中),我已经对值进行了测试。

更新(已解决)
问题在于将我的对象错误地转换为json字符串,这导致建议采用默认路径,而不是选择正确的值。

共有2个答案

狄安歌
2023-03-14

我用决议更新了上面的帖子
问题不在于加载配置属性,而在于加载代码。

宦高岑
2023-03-14

当组件扫描选择这个CommonConfig类时,ConfigurationProperties注释基本上会注入应用程序中的属性。yml应用程序。以前缀公用列表开头的属性 并设置它们。

请看这里的一篇文章。

 类似资料:
  • 我的应用程序正在尝试外部化所有项目属性,一些属性将位于我的应用程序中,而另一个属性将位于 Windows 中某处的文件夹中。 我将Spring设置为这样执行:-Spring . config . location = file:///C:\ Temp \ config \ application . properties,class path:application . properties 如您

  • 我有一个带应用程序的spring boot应用程序。属性文件和spring数据jpa。在应用程序中,我有一个外部依赖项,需要加载外部Spring项目的bean,该项目具有基于xml的配置。外部xml有自己的组件扫描和spring jpa设置,可以与应用程序中提供该DB属性的其他DB进行交互。属性文件,我正在使用@ImportResources将其bean注入父应用程序。但是,当我在做这个sprin

  • 我有一个spring boot jar(名称:myjar)位于目录结构中 但是,当我使用以下命令运行jar时: 它仍然选择在jar中的属性。我是不是漏掉了什么?

  • 如何从Cloud Config服务器实例配置基本的Spring Boot属性?显然,与配置服务器相关的Spring boot属性(即cloud.config.uri,*.username,*.password)必须在bootstrap.yml中 下面的其他属性是什么:https://docs.spring.io/spring-boot/docs/current/reference/html/com

  • 我有一个罐子x,它有一个类 现在在一个完全不同的项目中,我添加了这个jar作为依赖项。 并导入这个类,如: } 基本上,我在项目中使用了jar的Spring配置文件。 但当我运行我的应用程序时,我会出现以下错误: 信息:java。伊奥。FileNotFoundException:无法打开类路径资源[WEB-INF/assembly/appconfig.xml],因为它不存在。springframe

  • 我想在spring Boot中设置3个配置文件:production,development,test,使用外部配置文件。 应用程序类: AppConfig类: