`
wisfly
  • 浏览: 62748 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

ApplicationContext中profile指定解读

 
阅读更多

小伙伴们,我开了一家海淘护肤品淘宝店,搜索店铺“禾子蝶的海淘铺”,正品保证,欢迎进店选购哦。谢谢!

 

如果项目需要在开发环境,测试环境,演示环境或生产环境上相互的切换,如何配置web.xml和ApplicationContext.xml文件。

例如:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
    <display-name>XXX</display-name>
    <!-- Define the pushlet servlet <servlet> <servlet-name>pushlet</servlet-name>
        <servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class> <load-on-startup>1</load-on-startup>
        </servlet> -->
    <!-- The pushlet <servlet-mapping> <servlet-name>pushlet</servlet-name>
        <url-pattern>/pushlet.srv</url-pattern> </servlet-mapping> -->
    <servlet>
         <servlet-name>log4j-init</servlet-name>
         <servlet-class>com.cmcc.util.Log4jInit</servlet-class>
         <init-param>
           <param-name>log4j</param-name>
           <param-value>WEB-INF/classes/log4j.properties</param-value>
         </init-param>
         <load-on-startup>0</load-on-startup>
    </servlet>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:spring/applicationContext.xml,
            classpath*:spring/applicationContext-extend.xml
        </param-value>
    </context-param>
    <!-- Spring Context的默认Profile,每次部署不同的环境需要改成对应的配置 -->
    <context-param>
        <param-name>spring.profiles.active</param-name>
        <param-value>play</param-value>
        <!-- <param-value>${profile.active}</param-value>-->
    </context-param>
。。。。。
</web-app>

 

定义好

<context-param>
        <param-name>spring.profiles.active</param-name>
        <param-value>play</param-value>
        <!-- <param-value>${profile.active}</param-value>-->
    </context-param>

 

然后在ApplicationContext.xml文件中配置

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
        http://www.springframework.org/schema/task
    http://www.springframework.org/schema/task/spring-task-4.0.xsd"
    default-lazy-init="false">
    <description>Spring公共配置 </description>
    <context:component-scan base-package="com.cmcc.service,com.cmcc.dao,com.cmcc.exception,com.cmcc.util" />
    <!-- <util:properties id="dataSourceProps" location="classpath:system.properties"/> -->
    <!--启用aop代理  -->
    <aop:aspectj-autoproxy/>
    <!-- 数据源配置,使用应用内的DBCP数据库连接池 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <!-- Connection Info -->
        <property name="driverClassName" value="#{loadProperties['jdbc.driver']}" />
        <property name="url" value="#{loadProperties['jdbc.url']}" />
        <property name="username" value="#{loadProperties['jdbc.username']}" />
        <property name="password" value="#{loadProperties['jdbc.password']}" />
        <property name="defaultAutoCommit" value="false" />
        <!-- Connection Pooling Info -->
                <property name="maxActive" value="#{loadProperties['dbcp.maxActive']}" />
        <property name="maxIdle" value="#{loadProperties['dbcp.maxIdle']}" />
        <property name="maxWait" value="#{loadProperties['dbcp.maxWait']}" />
        <property name="removeAbandoned" value="#{loadProperties['dbcp.removeAbandoned']}" />
        <property name="logAbandoned" value="#{loadProperties['dbcp.logAbandoned']}" />
        <property name="removeAbandonedTimeout" value="#{loadProperties['dbcp.removeAbandonedTimeout']}" />
    </bean>
    。。。。。。

    <!-- production环境 -->
    <beans profile="production">
        <util:properties id="loadProperties" location="classpath:system.properties"/>   
    </beans>
    <!-- local development环境 -->
    <beans profile="local">   
        <util:properties id="loadProperties" location="classpath:application.local.properties"/>
    </beans>
    <!-- test环境 -->
    <beans profile="test">
        <util:properties id="loadProperties" location="classpath:application.test.properties"/>
    </beans>
    <!-- show环境 -->
    <beans profile="show">
        <util:properties id="loadProperties" location="classpath:application.show.properties"/>
    </beans>
    <!-- play环境 -->
    <beans profile="play">
        <util:properties id="loadProperties" location="classpath:application.play.properties"/>
    </beans>

。。。。。。。
</beans>

即可

 

小伙伴们,我开了一家海淘护肤品淘宝店,搜索店铺“禾子蝶的海淘铺”,正品保证,欢迎进店选购哦。谢谢!

分享到:
评论

相关推荐

    applicationContext

    applicationContext applicationContext

    Spring中ApplicationContext加载机制

    通过以上配置,Web 容器会自动加载 /WEB-INF/applicationContext.xml 初始化 ApplicationContext 实例,如果需要指定配置文件位置,可通过 context-param 加以指定: ```xml &lt;param-name&gt;contextConfigLocation ...

    applicationContext.xml 详细配置

    在 ApplicationContext.xml 文件中,首先需要指定 XML 声明和DOCTYPE。XML 声明用于指定 XML 文档的版本和编码方式,而 DOCTYPE 则用于指定文档类型定义(DTD),以便验证 XML 文档的正确性。在本例中,XML 声明指定...

    三、Spring源码分析——ApplicationContext

    ApplicationContext还支持Bean的懒加载、单例或多例管理、Profile功能(根据环境选择加载不同的配置)、以及与其他Spring模块(如Spring Data、Spring Security等)的集成。 总的来说,ApplicationContext作为...

    ApplicationContext及它的3种实现

    在Spring框架中,`ApplicationContext`是`BeanFactory`接口的一个扩展,提供了更为丰富的功能和服务。它不仅继承了`BeanFactory`的所有特性,还增加了如资源加载、消息源国际化、事件发布等高级特性。这使得`...

    Spring中ApplicationContext和beanfactory区别.rar

    在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...

    Spring获取ApplicationContext对象工具类的实现方法

    在Spring中,ApplicationContext(应用程序上下文)是容器的核心,负责配置和管理应用中对象的生命周期和依赖关系。在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring...

    spring 获得applicationcontext公用方法

    在Spring框架中,`ApplicationContext`是一个非常重要的接口,它提供了加载和管理Bean定义,以及获取Bean实例的功能。本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`...

    Spring中ApplicationContext对事件传递

    ### Spring框架中ApplicationContext的事件传递机制详解 #### 一、引言 在Spring框架中,事件处理机制是一项非常重要的功能,它使得应用可以更加灵活地响应各种系统内部或外部的事件变化。本篇文章将深入探讨...

    SpringBoot中的Profile配置的使用示例源码

    - 在运行时,我们可以通过`ApplicationContext`的`Environment`接口来切换profile,但请注意这通常不推荐在生产环境中使用,因为可能导致不可预测的结果。 7. **自定义Profile** - 除了内置的profile机制,我们还...

    SSH中applicationContext.xml如何配制事务

    在SSH的applicationContext.xml 中如何配制配制事务

    applicationcontext

    标题“applicationcontext”通常在IT领域中指的是Spring框架中的ApplicationContext,它是Spring IoC(Inversion of Control)容器的核心。ApplicationContext负责加载配置元数据,管理Bean的生命周期,并提供Bean...

    applicationContext.xml详解

    ApplicationContext.xml是Spring框架中的核心配置文件,它是Spring的IOC(Inverse of Control,控制反转)容器的核心组件。该文件用于定义和配置Spring应用程序中的各种Bean,对于Spring应用程序的开发和维护起着至...

    sping applicationcontext中的一些例子demo

    在Spring框架中,`ApplicationContext`是核心容器的重要接口,它负责管理Bean的生命周期,加载配置元数据,并提供Bean之间的依赖注入。本示例主要探讨`ApplicationContext`及其几个常见子类的使用,通过实际的代码...

    applicationContext.xml

    Spring applicationContext.xml常见部分属性的使用备注

    ApplicationContext.xml

    在`ApplicationContext.xml`中,每个`&lt;bean&gt;`标签都对应一个Java对象,通过`id`和`class`属性来标识和指定Bean的类型。`init-method`属性可以指定Bean初始化时执行的方法。此外,还可以通过`scope`属性定义Bean的...

    applicationContext.xml完美配置

    applicationContext.xml完美配置

    spring2.5的applicationContext配置文件

    在Spring框架中,`applicationContext.xml`是核心的配置文件,它定义了bean的实例化、依赖注入、服务的装配以及整个应用上下文的行为。在Spring 2.5版本中,这个配置文件引入了许多增强的功能,提升了开发效率和灵活...

Global site tag (gtag.js) - Google Analytics