Spring Boot+Profile实现不同环境读取不同配置

Posted Jim

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot+Profile实现不同环境读取不同配置相关的知识,希望对你有一定的参考价值。

文件结构如下:

但是官方推荐放在config文件夹下。

作用:

不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中。prod环境下的配置配置在application-prod.properties中。

使用:

1、在applicaiton.properties中指定,比如spring.profiles.active=dev

2、启动时指定参数,比如java -jar xxx.jar --spring.profiles.active=dev

3、启动时指定系统属性,比如java -jar xxx.jar -Dspring.profiles.active=dev

使用技巧:

在application.properties中的变量可以通过这样的方式获取:

@Autowired  
private Environment env;  
          
@RequestMapping("/testProfile")  
public String testProfile(){  
    return env.getProperty("spring.profiles.active");  
}  

总结:

  1. 各个环境公共的配置写在application.properties中,默认读取这个。
  2. 各个模块独有的配置配置在自己的application-{xxx}.properties文件中,通过启动参数--xxx或者系统属性-Dxxx指定来加载,或者在application.properties中配置spring.profiles.active的项。
  3. 程序启动时如果没有任何指定,默认读取application.properties;如果指定了那么会读取application-{xxx}.properties,会覆盖application.properties的的项。

 

参考:

http://www.leftso.com/blog/111.html(这个说的比较详细)

http://blog.csdn.net/lazycheerup/article/details/51915185

以上是关于Spring Boot+Profile实现不同环境读取不同配置的主要内容,如果未能解决你的问题,请参考以下文章

如何部署同一个Spring boot web 应用到不同的环境

Spring Boot 5-profile配置

Spring Boot教程7——Profile

spring-boot 速成 profile区分环境

spring boot 环境配置(profile)切换

spring boot 环境配置(profile)切换