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 】
相关推荐:
如何在 React 中条件性地遍历数组并渲染元素
网站建设要注意的标准 促进网站用户好感度!
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Laravel怎么在Controller之外的地方验证数据
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Laravel如何实现本地化和多语言支持?(i18n教程)
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
教你用AI将一段旋律扩展成一首完整的曲子
如何快速查询域名建站关键信息?
免费视频制作网站,更新又快又好的免费电影网站?
新三国志曹操传主线渭水交兵攻略
如何快速搭建高效香港服务器网站?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
Python结构化数据采集_字段抽取解析【教程】
西安专业网站制作公司有哪些,陕西省建行官方网站?
利用JavaScript实现拖拽改变元素大小
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
详解Huffman编码算法之Java实现
如何在阿里云域名上完成建站全流程?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
EditPlus中的正则表达式 实战(1)
如何基于云服务器快速搭建网站及云盘系统?
简单实现Android文件上传
如何正确选择百度移动适配建站域名?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
免费网站制作appp,免费制作app哪个平台好?
如何快速搭建高效WAP手机网站吸引移动用户?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何用狗爹虚拟主机快速搭建网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何快速搭建二级域名独立网站?
Laravel如何创建自定义Facades?(详细步骤)
Laravel如何自定义错误页面(404, 500)?(代码示例)
详解CentOS6.5 安装 MySQL5.1.71的方法
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
如何自定义建站之星网站的导航菜单样式?
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel如何与Inertia.js和Vue/React构建现代单页应用
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Laravel Docker环境搭建教程_Laravel Sail使用指南
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Linux安全能力提升路径_长期防护思维说明【指导】
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
如何用美橙互联一键搭建多站合一网站?

