spring profile 多环境配置管理详解
发布时间 - 2026-01-10 22:36:32 点击率:次spring profile 多环境配置管理

现象
如果在开发时进行一些数据库测试,希望链接到一个测试的数据库,以避免对开发数据库的影响。
开发时的某些配置比如log4j日志的级别,和生产环境又有所区别。
各种此类的需求,让我希望有一个简单的切换开发环境的好办法。
解决
现在spring3.1也给我们带来了profile,可以方便快速的切换环境。
使用也是非常方便。只要在applicationContext.xml中添加下边的内容,就可以了
<!-- 开发环境配置文件 -->
<beans profile="test">
<context:property-placeholder location="/WEB-INF/test-orm.properties" />
</beans>
<!-- 本地环境配置文件 -->
<beans profile="local">
<context:property-placeholder location="/WEB-INF/local-orm.properties" />
</beans>
profile的定义一定要在文档的最下边,否则会有异常。整个xml的结构大概是这样
<beans xmlns="..." ...> <bean id="dataSource" ... /> <bean ... /> <beans profile="..."> <bean ...> </beans> </beans>
激活 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方式:
<init-param> <param-name>spring.profiles.active</param-name> <param-value>production</param-value> </init-param>
4、标注方式(junit单元测试非常实用):
@ActiveProfiles({"unittest","productprofile"})
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# spring
# profile
# 多环境配置管理
# 多环境
# 多环境配置管理详解
# springboot学习笔记之 profile多环境配置切换的实现方式
# 使用Spring boot 的profile功能实现多环境配置自动切换
# Spring Boot使用profile如何配置不同环境的配置文件
# 详解springboot + profile(不同环境读取不同配置)
# 详解Spring Boot Profiles 配置和使用
# spring Profile如何为不同环境提供不同的配置支持
# 配置文件
# 可以通过
# 让我
# 会有
# 是这样
# 又有
# 右键
# 希望能
# 带来了
# 此类
# 谢谢大家
# 也给
# 好办法
# 就可以
# 有一个
# 单元测试
# 上传
# 文档
# 配置管理
# 只要在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何确认建站备案号应放置的具体位置?
昵图网官方站入口 昵图网素材图库官网入口
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
HTML 中动态设置元素 name 属性的正确语法详解
JavaScript常见的五种数组去重的方式
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
网易LOFTER官网链接 老福特网页版登录地址
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
C语言设计一个闪闪的圣诞树
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
详解Huffman编码算法之Java实现
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
如何正确下载安装西数主机建站助手?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
Java垃圾回收器的方法和原理总结
三星、SK海力士获美批准:可向中国出口芯片制造设备
米侠浏览器网页背景异常怎么办 米侠显示修复
Linux网络带宽限制_tc配置实践解析【教程】
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
,怎么在广州志愿者网站注册?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
高端建站如何打造兼具美学与转化的品牌官网?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel如何处理CORS跨域请求?(配置示例)
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
微信小程序 wx.uploadFile无法上传解决办法
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
Python高阶函数应用_函数作为参数说明【指导】
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
IOS倒计时设置UIButton标题title的抖动问题
如何快速搭建FTP站点实现文件共享?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何在橙子建站上传落地页?操作指南详解
公司网站制作需要多少钱,找人做公司网站需要多少钱?
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
北京网站制作公司哪家好一点,北京租房网站有哪些?
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程

