为了实现多环境配置,我们可以在本地开发的时候在Resource文件夹下新建不同环境的配置文件,如下图所示:
一、配置解析
默认的一个,就是啥都不加的,默认配置文件,application.yml文件,可根据自己需求使用
开发环境(dev):开发环境是专门用于开发的服务器,可随时配置,只要配的自己开发舒服就行,
测试环境(test):一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。
生产环境(prod):是正式提供对外服务的,一般会关掉错误报告,打开错误日志。这个配置就需要谨慎点哦
三个环境也可以说是系统开发的三个阶段:开发->测试->上线,其中生产环境也就是通常说的真实环境。
使用这些配置还是有好处的:
1.不同环境配置可以配置不同的参数
2.便于部署,提高效率,减少出错
这时候我们只需要在主配置文件application.yml文件使用spring.profiles.active = dev/test/prod来进行不同环境的切换
spring:
profiles:
active: dev #加载dev配置文件
二、主配置文件与不同环境的配置文件
Spring Profile有一个特性即可以在application.yml配置通用的内容,在application-dev.yml文件中配置不同文件的差异化配置,这样可以精简我们的配置文件。配置如下:
# 主配置文件主要用来存放公共设置,不受环境配置影响
server:
port: 8082 # 指定端口号
context-path: /server # 指定访问资源的根路径
spring:
profiles:
active: dev
三、dev配置文件
# 主要用来存放不同环境差异化配置,包括ftp地址、数据库连接等
spring:
datasource:
username: xxx
password: xxx
url: xxx
driver-class-name: oracle.jdbc.driver.OracleDriver
上述解决方案虽然可以解决我们的环境问题,但是不够优雅,还有一些值得优化的地方,比如打包出的配置文件有四个、每次需要手动修改主配置文件的环境信息等。