温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Springboot多环境开发的示例分析

发布时间:2022-03-07 15:07:56 来源:亿速云 阅读:107 作者:小新 栏目:开发技术

这篇文章主要介绍了Springboot多环境开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

概述

Springboot在不同的阶段运行,所使用的环境可能不一样
比如在开发阶段、测试阶段、生产阶段,应用阶段
可能这些阶段Springboot项目运行的环境都不同,所以可以提前设置多种环境,根据场景的不同进行选择使用

多环境设置使用

方法1:
在yml配置文件中提前写好多种配置,然后选择调用哪个

Springboot多环境开发的示例分析

方法2:
这个方法也适用于后缀名为prperties的配置文件
每种环境设置一个配置文件,然后再写一个主配置文件,在主配置文件中设置调用哪个环境,并且写公共配置
就等于将方法一中的每个部分单独写成一个文件。
这里需要注意一点,这里的环境命名方式不同了

Springboot多环境开发的示例分析


这里的命名方式是:application-环境的名称,然后再这些环境配置的文件里面就不需要在通过spring.profiles来设置名字了,当然如果不想按照这种命名方式来命名,则需要通过spring.profiles来设置名字
主配置文件的名称就起application,在主文件中,通过

Springboot多环境开发的示例分析

来调用对应的环境

多环境分组管理

项目开发的时候,对于不同的模块设置不同的配置文件,比如持久层,可以设置一个名为application-devDB的配置文件,MVC层设置一个名为application-devMVC的配置文件

Springboot多环境开发的示例分析

然后在主配置中对其他的环境进行调用管理,include可以在激活指定环境的情况下,同时对多个环境进行加载使其生效,多个环境间使用逗号分隔

而且,如果多个环境中有相同的配置,则后加载的环境会覆盖前面的,加载的顺序:先按照include中的环境一个一个的加载、最后加载active中的环境

但是对于同时对多个环境进行加载使其生效这个功能,include这个方法现在已经不是主流,我们更多的是使用group

Springboot多环境开发的示例分析

对不同名字的配置文件进行分组,比如application-dev首字母大写的字符串可以划分为dev组的,如上图
然后用active来决定调用哪一组的配置文件

Maven和spring-boot的配置冲突

spring-boot基于maven坐标的控制工作的
所以为了防止maven与spring-boot互相的配置冲突,我们应该在maven中配置,然后让sping-boot去读取
当Maven与SpringBoot 同时对多环境进行控制时,以Mavn为主,SpringBoot使用@. . @占位符读取Maven对应的配置属性值
首先,有这么几个配置文件

Springboot多环境开发的示例分析

第一步:在maven的pom文件中配置对应的多环境开发:

Springboot多环境开发的示例分析

第二步:在springboot中引用

Springboot多环境开发的示例分析

idea的一个小BUG
基于SpringBoot读取Maven配置属性的前提下,如果在Idea下测试,工程时pom.xml每次更新需要手动compile方可生效

Springboot多环境开发的示例分析

感谢你能够认真阅读完这篇文章,希望小编分享的“Springboot多环境开发的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI