栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring Boot和多个外部配置文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot和多个外部配置文件

使用Spring Boot时,属性按以下顺序加载(请参阅Spring Boot参考指南中的“ 外部化配置 ”)。

  1. 命令行参数。
  2. Java系统属性(System.getProperties())。
  3. 操作系统环境变量。
  4. 来自java:comp / env的JNDI属性
  5. 一个RandomValuePropertySource,仅具有random。
    *
    属性。
  6. 打包的jar之外的应用程序属性(application.properties,包括YAML和配置文件变体)。
  7. 打包在jar中的应用程序属性(包括YAML和配置文件变体的application.properties)。
  8. @Configuration类上的@PropertySource批注。
  9. 默认属性(使用SpringApplication.setDefaultProperties指定)。

解析属性时(即

@Value("${myprop}"
)以相反的顺序进行解析(因此从9开始)。

要添加其他文件,你可以使用

spring.config.location
以逗号分隔的属性文件或文件位置(目录)列表的属性。

-Dspring.config.location=your/config/dir/

上面的一个将添加一个目录,将在该目录中查询

application.properties
文件。

-Dspring.config.location=classpath:job1.properties,classpath:job2.properties

这会将2个属性文件添加到已加载的文件中。

默认配置文件和位置在附加指定spring.config.location的文件和位置之前加载,这意味着后者将始终覆盖较早配置文件和位置中设置的属性。(另请参阅《 Spring Boot参考指南》的本节)。

如果

spring.config.location
包含目录(而不是文件),则目录应以/结尾(并
spring.config.name
在加载后附加从生成的名称)。
classpath:,classpath:/config,file:,file:config/
始终使用默认搜索路径,而与的值无关
spring.config.location
。这样,你可以在中设置应用程序的默认值
application.properties
(或使用来选择的其他任何基本名称
spring.config.name
),并在运行时使用其他文件覆盖它,并保持默认值。

更新:由于spring.config.location的行为现在将覆盖默认值,而不是添加至默认值。你需要使用spring.config.additional-location来保持默认值。这是从1.x到2.x的行为更改



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368074.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号