spring 通过 profile 加载配置文件

项目默认从diamond里加载配置文件,diamond只有一个,开发时,修改配置会影响到所有人,开发时需要使用本地配置,项目布署时,还按生产环境的方式布署

使用spring4.1的配置

 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                <property name="order" value="2" />
                <property name="ignoreResourceNotFound" value="true" />
                <property name="ignoreUnresolvablePlaceholders" value="true" />
                <property name="location" value="classpath:XXXX.properties" />
            </bean>

        <beans profile="dev">
            <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                <property name="order" value="1" />
                <property name="ignoreResourceNotFound" value="true" />
                <property name="ignoreUnresolvablePlaceholders" value="true" />
                <property name="location" value="classpath:YYYY.properties" />
            </bean>
        </beans>


系统使用dev profile时,会按顺序加载两个配置文件,哪个先加载,哪个就生效,后加载的,就无效

指定默认的profile 为production
<servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <init-param>
            <param-name>spring.profiles.default</param-name>
            <param-value>production</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>


开发环境使用dev profile的方式
jetty:run -Dspring.profiles.active=dev


猜你喜欢

转载自powertech.iteye.com/blog/2265059