spring-boot 指定外部配置文件

1 篇文章 0 订阅
1 篇文章 0 订阅

spring-boot 支持从外部加载配置文件。

加载单个文件

使用 spring.config.location 属性来配置外部配置文件的路径,可以是指定的文件或者文件夹(如果是文件夹需要在后面加"/",详见 spring-boot 文档),路径可以是绝对路径也可以是相对路径也可以使用 classpath 来提供路径前缀。具体使用如下:
java -jar -Dspring.config.location=/opt/conf/ target/SpringBootApp.jar
java -jar -Dspring.config.location=./conf/extconf.properties target/SpringBootApp.jar
java -jar -Dspring.config.location=classpath:/custom/extconf.properties target/SpringBootAppjar

加载多个文件

java -jar -Dspring.config.location=classpath:/custom1/,classpath:/customs2/ target/SpringBootApp.jar

从环境变量读取多个文件

set SPRING_CONFIG_LOCATION=~/custom1/,/user/custom2/
java -jar target/SpringBootApp.jar

编程的方式读取

假设有两个配置文件

~/custom1/extconf.properties
~/custom2/myconf.properties
@SpringBootApplication
public class SpringBootExternalConfiguration {

	public static void main(String[] args) {
		ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(SpringBootExternalConfiguration.class)	.properties("spring.config.name:extconf,myconf","spring.config.location:classpath:~/custom1/,/user/custom2/").build().run(args);
		ConfigurableEnvironment environment = applicationContext.getEnvironment();
		System.out.println(environment.getProperty("welcome.message"));
	}
}

spring.config.name 可以用来指定配置文件的名字,比如默认是 application.yml,可以通过spring.config.name=extconf 来指定配置文件的名字(后缀前面的名字)为 extconf,如上面代码所示

注意

springboot 应用程序需要传入参数 args 来启动才能接收到命令行配置的相关参数 SpringApplication.run(SpringBootApplicationRun.class, args);

参考 :https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值