Spring激活profile的方式
2024-09-01 04:05:40
Spring中激活profile的方法:设置spring.profiles.active和spring.profiles.default这两个属性
设置激活profile属性的地方(优先级由高到底)
0)Spring上下文
ConfigurableApplicationContext ctx = new AnnotationConfigApplicationContext(EnvironmentApp.class);
ConfigurableEnvironment env = ctx.getEnvironment();
或
ApplicationContext ctx = new AnnotationConfigApplicationContext(EnvironmentApp.class);
Environment _e =ctx.getEnvironment();
ConfigurableEnvironment env = ConfigurableEnvironment.class.cast(_e);
//通过setActiveProfiles来设置。
env.setActiveProfiles("wow","pes","ff");
//必须重建容器
ctx.refresh();
1)ServletConfig parameters(if applicable, e.g. in case of a DispatcherServlet context)
<init-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</init-param>
2)ServletContext parameters(web.xml context-param entries)
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
3)JNDI environment variables
4)JVM system properties
JVM system properties的设置方式
a) 设置JVM的启动参数 -D<name>=<value> ("-D" command-line arguments)
i) 在tomcat内的catalina.bat(.sh中不用"set")中加 JAVA_OPTS="-Dspring.profiles.active=dev"
ii) eclipse中设置run configuration:-Dspring.profiles.active=dev
JVM启动参数, refer to https://blog.csdn.net/lsziri/article/details/81200334; https://www.cnblogs.com/flashsun/p/7246232.html
b) JAVA标准API:
System.setProperty("spring.profiles.active", "dev");//在启动容器之前,先指定环境中的profiles参数
ApplicationContext ctx = new AnnotationConfigApplicationContext(EnvironmentApp.class);
5)OS environment variable
增加环境变量,eg.spring.profiles.active=dev
读取配置文件 <context:property-placeholder location="classpath:config_${spring.profiles.active}.properties" ignore-unresolvable="true" />
JNDI environment variables ("java:comp/env/" entries)
在集成测试类上,使用@ActiveProfiles注解配置。
最新文章
- Entity Framework 6连接Postgresql、SQLite、LocalDB的注意事项和配置文件
- 浅谈Android样式开发之layer-list
- 贼溜的更新Android-SDK的方法(亲测很好用)
- Shader 简明入门教程
- Win7中不能调试windows service
- 【解题报告】[动态规划] RQNOJ - PID105 / 核电站问题
- Linux之装机指南
- NSS_11 Server Error in &#39;/&#39; Application
- C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
- CentOS的配置文件
- Oracle SQL Lesson (11) - 创建其他数据库对象(试图/序列/索引/同义词)
- HDU 4990 Reading comprehension
- 比特(bit)、字,字节(B)存储单位之间的关系+其与操作系统位数的关系+不同编译器编译方式下数据类型的表示范围
- ORM Basic
- 第十五节、OpenCV学习(四)图像平滑与滤波
- [Swift]LeetCode208. 实现 Trie (前缀树) | Implement Trie (Prefix Tree)
- Hive_1
- Max Area of Island
- websocket ----简介,以及demo
- IPv6地址测试宏
热门文章
- 重磅发布:阿里开源 Open JDK 长期支持版本 Alibaba Dragonwell
- JavaScript--函数中this的几种指向
- SPSS分析技术:二阶聚类分析;为什么出现大学生“裸贷”业务,因为放贷者知道贷款者还不起
- IDEA:将WEB-INF\lib下的Jar包添加到项目中
- iOS9新系统下App Store应用上传新指南
- python三种导入模块的方法和区别
- tp5 上传视频到七牛云
- 【JZOJ4817】【NOIP2016提高A组五校联考4】square
- 2019-3-27-win10-uwp-动画移动滑动条的滑块
- CS第三方控件 标签: 总结 2016-04-09 11:51 1398人阅读 评论(27) 收藏