千家信息网

springcloud中怎么使用profile实现多环境配置

发表于:2025-02-17 作者:千家信息网编辑
千家信息网最后更新 2025年02月17日,这篇文章主要介绍"springcloud中怎么使用profile实现多环境配置",在日常操作中,相信很多人在springcloud中怎么使用profile实现多环境配置问题上存在疑惑,小编查阅了各式资
千家信息网最后更新 2025年02月17日springcloud中怎么使用profile实现多环境配置

这篇文章主要介绍"springcloud中怎么使用profile实现多环境配置",在日常操作中,相信很多人在springcloud中怎么使用profile实现多环境配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"springcloud中怎么使用profile实现多环境配置"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

使用profile实现多环境配置

基本介绍

在开发过程中,我们的项目会存在不同的运行环境,比如开发环境、测试环境、生产环境,而我们的项目在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。

springcloud默认会访问的配置文件名是application.properties,

我们如果要创建多环境的配置文件的话,文件名格式应为:application-{profile}.properties

其中的{profile}用来标识不同的环境,如application-native.properties文件可以用来配置本地环境、application-prod.properties文件可以用来配置生产环境。

springcloud中通过"spring.profiles.active"属性来指定{profile},如spring.profiles.active=native,则使用的是application-native.properties配置文件。

由于springcloud配置中心和springboot的多环境配置并没有打通,

所以使用java -jar xxxx.jar --spring.profiles.active=prod命令只能对springboot项目中的配置有效,

并不能从配置中心获取不同的环境配置,想要实现目标还需要多做一些工作。

项目配置

在bootstrap.yml文件中配置配置中心,如下所示

使用三个短横线将不同环境分隔开,这样可以在一个文件中完成多个环境配置

spring:  profiles:    active: dev---spring:  profiles: dev  cloud:    bootstrap:      enabled: false    config:      uri: http://localhost:8888      name: webclient      profile: dev---spring:  profiles: test  cloud:    bootstrap:      enabled: false    config:      uri: http://localhost:8888      name: webclient      profile: test---spring:  profiles: prod  cloud:    bootstrap:      enabled: false    config:      uri: http://localhost:8888      name: webclient      profile: prod

而顶层pom中的配置情况是如下的:

spring profile多环境配置管理

本地、测试、开发、产品等不同环境文件配置

现象

如果在开发时进行一些数据库测试,希望链接到一个测试的数据库,以避免对开发数据库的影响。

开发时的某些配置比如log4j日志的级别,和生产环境又有所区别。

各种此类的需求,让我希望有一个简单的切换开发环境的好办法。

解决

现在spring3.1也给我们带来了profile,可以方便快速的切换环境。

使用也是非常方便。只要在applicationContext.xml中添加下边的内容,就可以了

                                      profile的定义一定要在文档的最下边,否则会有异常。整个xml的结构大概是这样                        

激活 profile

spring 为我们提供了大量的激活 profile 的方法,可以通过代码来激活,也可以通过系统环境变量、JVM参数、servlet上下文参数来定义 spring.profiles.active 参数激活 profile,这里我们通过定义 JVM 参数实现。

1、ENV方式:

ConfigurableEnvironment.setActiveProfiles("test")

2、JVM参数方式:

tomcat中catalina.bat(.sh中不用"set") 添加JAVA_OPS。通过设置active选择不同配置文件

set JAVA_OPTS="-Dspring.profiles.active=test"  eclipse 中启动tomcat。项目右键 run as -> run configuration->Arguments-> VM arguments中添加。local配置文件不必上传git追踪管理-Dspring.profiles.active="local"

3、web.xml方式:

  spring.profiles.active  production

4、标注方式(junit单元测试非常实用):

@ActiveProfiles({"unittest","productprofile"})

到此,关于"springcloud中怎么使用profile实现多环境配置"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

配置 环境 文件 不同 开发 参数 项目 测试 数据 方式 激活 学习 数据库 生产 实用 可以通过 文件名 方法 日志 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国家实施网络安全什么的保护制度 电脑桌面主题软件开发 苏州戴尔服务器价格多少 简述数据库的建立方法 济南2021网络安全大赛 熊瑞金数据库原理与应用出版的书 数据库 .net 怎么在我的世界服务器里面刷三十二k 数据库可以多次备份吗 安徽什么软件开发服务价格优惠 浦发银行基金软件开发部门 嘉祥软件开发企业 兰州衡石网络技术有限公司 创建数据库 语句 怎么输入数据库管理系统 M2M无线网络技术 达梦数据库sql手册 小宏网络技术有限公司官网 初中网络安全宣传视频 创造与魔法提前进服务器多少分钟 万州软件开发工资多少钱 网络数据库检索系统名词解释 泰安联想服务器批发 中国乳腺癌标准数据库 文化市场网络安全监管 欧盟农药残留数据库 c语言安卓软件开发 年中换账套怎么导数据库 抖音直播总是提示服务器升级中 软件开发后端语言怎么选
0