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

原文地址:https://www.cnblogs.com/EasonJim/p/7801816.html