当前位置:首页 > 技术博文 > 正文

SpringBoot配置多环境配置文件系列

一、环境介绍Rny源是物语
Rny源是物语
1.dev环境Rny源是物语
Rny源是物语
在平时开发的时候肯定会有测试环境,但是一方面测试环境构建的时间会比较漫长,所以一般一天就几次,所以在很多时候我们都需要本地进行debug调试。基于这种场景我们首先就需要一份dev环境(中文名称开发环境配置),通过dev配置我们就可以将数据库的地址、服务器的地址、redis、mongodb等地址,配置为自己的本地的服务器,方便我们进行bug调试。Rny源是物语
Rny源是物语
2.test环境Rny源是物语
Rny源是物语
本地开发环境毕竟和真实的环境差距还是很大的,不管从cpu、内存、数据等等这些来看都有很大的差别,最重要的是测试人员自己肯定没办法本地调试,这些非开发人员要参与测试,必须有一个测试环境用来做专门的测试平台。这个时候我们就需要新配置一个test环境(中文名称测试环境),通过test环境,我们的测试人员、app人员、开发人员都可以通过这个环境来做自己的工作。Rny源是物语
Rny源是物语
3.prod环境Rny源是物语
Rny源是物语
如果测试环境的项目经过严格的测试,要发布出去给外网普通用户来用的话,肯定需要一个给所有用户用的环境,这个环境就叫做prod环境(中文名称生产环境)。之前的test环境一般是公司内部局域网才可以访问,但是prod环境是所有只要能连接上互联网的用户都可以访问,没有网络的限制问题,而且prod环境是面向用户,所以一般服务器的性能都会比test环境高的多。Rny源是物语
Rny源是物语
 Rny源是物语
Rny源是物语
二、实际应用Rny源是物语
Rny源是物语
重点来了,介绍了这么多的环境,那我们在开发过程中怎么进行环境配置呢,在服务器上面又是如何进行环境的区别的呢,不要着急,下面我们一一来介绍一下。Rny源是物语
Rny源是物语
1.开发过程配置Rny源是物语
————————————————Rny源是物语
SpringBoot项目本身就支持不同环境引用的支持,我们只需要在spring.profiles.active=‘环境的名称’,这样说可能会比较抽象,我们来看一下具体的列子,如下所示:Rny源是物语
Rny源是物语
不同的配置文件必须开头是application-,结尾可以随意定义,这边我们用dev、test、prod分别来表示开发、测试、生产环境。然后我们在引用环境的时候只要在active后面加上相应的后缀就可以了(也就是application-后面的内容),通过这种方式我们在开发过程中就可以随意的进行不同环境的切换了。Rny源是物语
Rny源是物语
2.jar方式配置Rny源是物语
Rny源是物语
那有的同学会问,如果我们是以jar形式来启动SpringBoot项目呢,这个时候我们该怎么办呢。不要着急,SpringBoot早就想到这一点了,它支持通过jar后面追加命令的方式启动服务。比如我们要启动jar服务,然后将环境配置设置为test环境,我们就可以通过如下的命令来实现。Rny源是物语
Rny源是物语
java -jar xxx.jar --spring.profiles.active=testRny源是物语
Rny源是物语
总结:Rny源是物语
Rny源是物语
SpringBoot为我们提供了超级简单的不同环境配置方案,我们只需要写上符合SpringBoot规范的配置文件就可以实现不同环境的切换了,这边有几点大家需要注意一下,也是在搭建过程中遇到的坑。Rny源是物语
Rny源是物语
坑:Rny源是物语
Rny源是物语
1、配置文件是没办法进行多次继承引用的,简单的所就是application.yml可以引用application-a.yml,但是application-a.yml是没办法通过spring.profiles.active=‘环境的名称’来引用application-b.yml。Rny源是物语
Rny源是物语
2、在通过jar启动服务的时候,要特别注意一点的是, --spring.profiles.active=test必须放在第一个位置,因为Spring Boot项目所有的配置信息都可以通过外部传参的形式来改变,这也就意味着可以有传多个参数,但是我们第一个参数必须是spring.profiles.active,否则配置不会被替换。Rny源是物语
Rny源是物语
3、dev、test、prod的配置文件名称一定要符合"application-名称"规范,否则会造成引用失败。Rny源是物语
————————————————
Rny源是物语
 

发表评论

  • 人参与,条评论

热门阅读

最新文章

取消
扫码支持 支付码