springboot使用yml文件配置多环境方式(dev、test、prod)
作者:星 ~ 程 @
这篇文章主要介绍了springboot使用yml文件配置多环境方式(dev、test、prod),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
使用yml文件配置多环境(dev、test、prod)
为了实现多环境配置,我们可以在本地开发的时候在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
上述解决方案虽然可以解决我们的环境问题,
但是不够优雅,还有一些值得优化的地方,
比如打包出的配置文件有四个、每次需要手动修改主配置文件的环境信息等。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。