一般而言,开发环境、测试环境、生产环境(线上)的配置肯定是不同的。大公司可以搞配置中心来集中配置,在小公司只有在配置文件上做文章了。如果只用一个配置文件,免不了在生成不同环境的war包时修改配置内容。不仅麻烦,而且容易忘记,总之耗时费力。springboot支持不同环境可以有自己配置文件。如图,现阶段项目有开发、测试两套配置,就增加了application-dev.properties和application-test.properties两个文件,原有的application.properties放不变的配置,并可以加spring.profiles.active=dev来设置默认的环境配置。
本公司的开发环境就是开发人员的个人电脑,因为springboot自带tomcat,可以免手动部署就可以运行,故可以在开发工具上设置运行环境。我使用eclipse,个人是这么配置的:在入口程序文件右键点击“Run As”->“Run Configurations”,弹出框切换“Environment”,点击“New”按钮,输入“spring.profiles.active”和你想配置的环境,如"dev"。
测试环境为Linux系统,找到tomcat->bin->catalina.sh,在里面添加 JAVA_OPTS="-Dspring.profiles.active=test"。如果做了服务化,对应的文件也同样这么搞。
这样这不用在打包前后修改配置了。
感谢下面两篇文章的作者:
https://www.cnblogs.com/whx7762/p/7992278.html springboot 不同环境不同的配置
https://blog.csdn.net/qidewang123/article/details/81073269 两种针对不同环境切换配置文件的总结