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
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注解配置。

最新文章

  1. Entity Framework 6连接Postgresql、SQLite、LocalDB的注意事项和配置文件
  2. 浅谈Android样式开发之layer-list
  3. 贼溜的更新Android-SDK的方法(亲测很好用)
  4. Shader 简明入门教程
  5. Win7中不能调试windows service
  6. 【解题报告】[动态规划] RQNOJ - PID105 / 核电站问题
  7. Linux之装机指南
  8. NSS_11 Server Error in &#39;/&#39; Application
  9. C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
  10. CentOS的配置文件
  11. Oracle SQL Lesson (11) - 创建其他数据库对象(试图/序列/索引/同义词)
  12. HDU 4990 Reading comprehension
  13. 比特(bit)、字,字节(B)存储单位之间的关系+其与操作系统位数的关系+不同编译器编译方式下数据类型的表示范围
  14. ORM Basic
  15. 第十五节、OpenCV学习(四)图像平滑与滤波
  16. [Swift]LeetCode208. 实现 Trie (前缀树) | Implement Trie (Prefix Tree)
  17. Hive_1
  18. Max Area of Island
  19. websocket ----简介,以及demo
  20. IPv6地址测试宏

热门文章

  1. 重磅发布:阿里开源 Open JDK 长期支持版本 Alibaba Dragonwell
  2. JavaScript--函数中this的几种指向
  3. SPSS分析技术:二阶聚类分析;为什么出现大学生“裸贷”业务,因为放贷者知道贷款者还不起
  4. IDEA:将WEB-INF\lib下的Jar包添加到项目中
  5. iOS9新系统下App Store应用上传新指南
  6. python三种导入模块的方法和区别
  7. tp5 上传视频到七牛云
  8. 【JZOJ4817】【NOIP2016提高A组五校联考4】square
  9. 2019-3-27-win10-uwp-动画移动滑动条的滑块
  10. CS第三方控件 标签: 总结 2016-04-09 11:51 1398人阅读 评论(27) 收藏