【SpringBoot】一文吃透SpringBoot多环境开发

文章目录

    • 前言
    • yml版多环境开发
        • yml版单文件多环境
        • yml版多文件多环境
    • properties版多环境开发
    • 多环境分组管理
    • 多环境开发控制
    • 总结

??博客x主页:己不由心王道长??!
??文章说明:一文彻底吃透·SpringBoot多环境开发??
?系列专栏:SpringBoot
??本篇内容:对SpringBoot的多环境开发需求做一个总结??
??每日一语:情商最低的一种人,就是明明可以好好说的话,非要用最令人讨厌的方式表达。??
??作者详情:作者是一名双非大三在校生,喜欢Java,欢迎大家探讨学习,喜欢的话请给博主一个三连鼓励。??
?? 交流社区:己不由心王道长(优质编程社区)

前言

在我们的开发中,必然不会只用到单个环境开发。整个软件的开发分为:开发——>测试——>生产(即给用户使用)。
在这整个过程中用到的配置必然不一样,例如我们接了银行一个活,要对底层数据库进行调试;银行管理层肯定不会告诉你密码的。
这种情况下就要求分环境,开发人员自己有一套环境dev,测试人员给人家老板去提供安装、上线测试必然又是另一套(不然你运维直接开发人员全包了得了,到上线了,老板肯定又是自己的一套环境。密码这种私密性极高的东西必然不会告诉我这种底层程序员。

【SpringBoot】一文吃透SpringBoot多环境开发
这就正确了吗急,把应用环境改为test再测试玩玩;
【SpringBoot】一文吃透SpringBoot多环境开发
application.yml就是我们的应用环境。怎么用呢下面
application-dev.yml:

application-pro.yml:

application-test.yml:

无非就是一个文件一个环境,到你的时候就自己配你的环境,这样老板就又隐私了。

在application.yml中配置:

看到没有,其实就是把一个配置文件分开为了三个配置文件,其他的用法基本一样,而且分开还实现了解耦,以后的多环境开发其实就是使用多文件多环境。

测试:发现8082端口启动,正是我们想看到的

【SpringBoot】一文吃透SpringBoot多环境开发
还是创建四个配置文件
【SpringBoot】一文吃透SpringBoot多环境开发
结果还是正确
可以看到,两个不同的方式,但是方法都差不多,只有语法和后缀上的差异!!!

问题又来了,我们学会了多环境开发没错,老板也舒服了,有隐私了。
如果出现以下情况,请思考:

这些怎么样说还行,可我们都知道,开发项目的时候,虽然SpringBoot简化了很多的配置,但还是有很多需要我们自己动手去配置的,如果全都配置在一个文件,难以想象。

多环境分组管理

在上面我们发现了端倪,即在开发环境中,我们不会把所有的配置都放在一个配置中,那样既不美观,也不利于维护。
所以我们要学习多环境的分组管理。
分组是怎么进行的照功能拆分,你数据库的负责底层数据库的,你mvc负责视图和控制。
且看下面,刚才在学习多环境的properties格式时,我没有把yml文件删除掉,而是保存起来,这个时候再把它拉出来让它干活!删除properties文件,开发中一般使用yml格式。

【SpringBoot】一文吃透SpringBoot多环境开发
application-devMysql.yml:

application-devMybatis.yml:

application-devMvc.yml:

application-dev.yml:

然后在应用环境中配置,怎么配置呢着看
application.yml

在应用环境中配置了dev,使用include表示这个配置文件包括include后面的那几个文件。

测试:

【SpringBoot】一文吃透SpringBoot多环境开发
使用group进行分组管理,可以设置分组类别,只要在active后添加group的分组,如dev,即可默认配置了“dev”后的所有配置文件。

到此,我们的多环境开发要告一段落了,但是别急,我们不妨再想一个问题,到底是SpringBoot依赖maven运行,还是maven依赖SpringBoot运行呢br> 这不是废话嘛,当然是SpringBoot依赖maven运行了。好,那么如果在SpringBoot中做了配置,又在maven做进行同样的配置,这个时候怎么办是产生冲突怎么办呢就是下一节要讲的多环境开发控制。

多环境开发控制

在上面我们已经完成了多环境开发的基本步骤,现在就差一点,我就直接给出答案,就是maven和SpringBoot之间的配置整合,要弄懂这个,我们又必须知道是maven主导SpringBoot。
maven是做什么的目构建管理的,最终生成代码包的,SpringBoot是干什么的化开发的。简化,又不是其主导作用。最终还是要靠maven来管理整个工程,所以SpringBoot应该听maven的。整个确认后下面就好做了。大体思想如下:

  • 先在maven环境中设置用什么具体的环境
  • 在SpringBoot中读取maven设置的环境即可

第一步:在maven中设置环境

这里是不是很熟悉,profiles嘛,配置文件,就是下面的1.

【SpringBoot】一文吃透SpringBoot多环境开发
很遗憾,启动失败,为什么失败呢误信息如下:
【SpringBoot】一文吃透SpringBoot多环境开发
再测试:
【SpringBoot】一文吃透SpringBoot多环境开发
测试:
【SpringBoot】一文吃透SpringBoot多环境开发
我们看到并不管用,这时候怎么办用预编译即complie

【SpringBoot】一文吃透SpringBoot多环境开发 己不由心王道长

来源:己不由心王道长

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月1日
下一篇 2022年10月1日

相关推荐