首页 > 技术文章 > Maven + Spring 进行多环境自动切换功能

rainy-shurun 2016-02-26 11:49 原文

在pom.xml的<project></project>的最下放写入如下代码:

<!-- profiles setting start [mvn install -P xxx ] 1:development 2:test 3: 
        production -->
    <profiles>
        <profile>
            <id>development</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <profiles.active>development</profiles.active>
            </properties>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <profile>
            <id>production</id>
            <properties>
                <profiles.active>production</profiles.active>
            </properties>
        </profile>
    </profiles>

 

在项目的web.xml中加入如下代码:

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

 

这样就可以将Maven项目中的参数 profiles.active 传递到web.xml中去,maven这里在打包时会自动去修改web.xml中的代码,当这里为这样多环境切换之后,在spring的容器中,进行其他的环境管理直接使用

<beans profile="development">

  需要写入的其他的bean,这里表示这个区域只能是配置中的东西才能访问到对应的这块代码,其他的不能访问

</beans>

推荐阅读