如何用Spring 3.1的Environment和Profile简化工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Spring 3.1的Environment和Profile简化工作相关的知识,希望对你有一定的参考价值。
参考技术A Spring 三.依问题提供解决案(没自项目升级Spring版本嗯麻烦) Spring容器引入EnvironmentProfile概念每应用程序文都都访Environment象 ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext(); ConfigurableEnvironment configurableEnvironment = classPathXmlApplicationContext.getEnvironment(); 每种运行环境都Profile类供使用数讲解Spring Profile例都发模式或产模式于同运行环境问题说我解决案使用使用Profile适应同运行解决案优势自行决定何使用Profile 默认星空情况所创建Bean载入容器没Profile象面看例假设面我应用程序数据源实例定义 Spring 三.0增加新容器类GenericXmlApplicationContext 作ClassPathXmlApplicationContextFileSystemXmlApplicationContext外另选择 GenericXmlApplicationContext类特点通Setter完所配置需依靠笨重构造器完配置记住初始化容器准备工作完需要调用refresh()完实际初始化工作 面代码展示何使用GenericXmlApplicationContext类初始化容器: GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); ctx.getEnvironment().setActiveProfiles("standalone"); ctx.load("*Context.xml"); ctx.refresh(); 我Profile设置standalone工程我希望代码既作standalone运行应用程序容器外作container运行容器我设置Profile例面代码设置Profilestandalone与activemq 依 ctx.getEnvironment().setActiveProfiles("standalone", "activemq"); 虽做面配置实际并前配置文产影响没配置Profile实例所修改配置文: Profile设置standalone才实例化BeanProfileBean属性实例象配置单独Bean选择Profile较早Spring版本导致产文件Ant通配符运行找确配置文件 Spring 三.依标签嵌套标签内现我重新编写数据源配置文件: 通面代码快速切换Profile: ctx.getEnvironment().setActiveProfiles("container"); 另种切换Profile运行作系统参数传入: -Dspring.profiles.active="standalone" 外作Ear/War初始化参数传入: dispatcher org.springframework.web.servlet.DispatcherServlet spring.profiles.active production </servlet以上是关于如何用Spring 3.1的Environment和Profile简化工作的主要内容,如果未能解决你的问题,请参考以下文章
Spring Data MongoDB:如何用 Spring Aggregation 描述聚合 $merge?