spring下设置多个环境配置文件,自动加载配置
2016-12-16 本文已影响2592人
许武顺
在开发过程中,我们经常需要搭建多个环境,开发环境,测试环境,预发布环境,生产环境。这个时候就会产生一个问题,对于一些系统配置,如数据源配置,远程调用地址等,不同环境的配置都是不一样的,代码升级发布的时候就常常需要切换配置,非常繁琐而且容易人工操作失误导致严重问题。
现在我们尝试利用spring的加载机制,让系统帮我们自动选择环境对应的配置。
首先将所有环境的配置一起放在多个properties文件中
![](https://img.haomeiwen.com/i2001535/62825d4c27185e94.png)
可以看到,现在配置了开发环境和生产环境的配置文件了。接下来设置一个环境的标志,同样采用配置文件Environment.properties的形式
![](https://img.haomeiwen.com/i2001535/ecb8c8f859041263.png)
然后,定义一个环境配置文件自动加载的bean,交由spring管理,这样系统启动的时候就会自动加载配置并读取相应的配置文件进来了
![](https://img.haomeiwen.com/i2001535/1f8976bd37b423bb.png)
接着,定义一个读取配置项的service
![](https://img.haomeiwen.com/i2001535/ac4fcbed18abdd7d.png)
现在当需要使用配置项的时候,通过EnvironmentService读取就行了
![](https://img.haomeiwen.com/i2001535/b1f5d6e0b686dc5c.png)
这样子,不论环境配置有多少,每次切换环境只需要改一下Environment.properties的环境标志就行了