applicationcontext.xml中的spring profile设置

时间:2014-07-22 21:05:56

标签: spring profile environment declarative setting

我目前使用以下两个文件(Web.xml& MyListener.java)设置我的Spring配置文件。我设置了" MyProfile"管理控制台中的变量值为JNDI,一切正常。

但我想知道是否有办法通过applicationcontext.xml实现这一目标。我可以从管理控制台读取JNDI值,如下面的applicationcontext.xml中所示,但不确定Spring是否有办法在xml文件中设置配置文件。

提前致谢!

Web.xml中

    <context-param>
      <param-name>contextInitializerClasses</param-name>
      <param-value>MyListener</param-value>
    </context-param>

public class MyListener implements ApplicationContextInitializer<ConfigurableApplicationContext> {
    public void initialize(ConfigurableApplicationContext applicationContext) {

        String actProfile = applicationContext.getEnvironment().getProperty("MyProfile");
        applicationContext.getEnvironment().setActiveProfiles(actProfile);
    }
}

的applicationContext.xml

<jee:jndi-lookup id="MyProfile" jndi-name="MyProfile"/>

1 个答案:

答案 0 :(得分:0)

不直接回答您的问题,但您可以通过JVM属性设置配置文件:

-Dspring.profiles.active=YOUR_PROFILE_NAMES_AS_COMMA_SEPARATED_LIST