通过类AbstractAnnotationConfigDispatcherServletInitializer设置“活动配置文件”?


问题内容

扩展类AbstractAnnotationConfigDispatcherServletInitializer时,如何设置“活动配置文件”属性?


问题答案:

根据要设置的上下文配置文件,一种方法是覆盖

AbstractAnnotationConfigDispatcherServletInitializer#createRootApplicationContext()

AbstractAnnotationConfigDispatcherServletInitializer#createServletApplicationContext()

在其中设置活动配置文件。例如

@Override
protected WebApplicationContext createRootApplicationContext() {
    WebApplicationContext context = (WebApplicationContext)super.createRootApplicationContext();
    ((ConfigurableEnvironment)context.getEnvironment()).setActiveProfiles("profiles");
    return context;
}


super电话。您需要这样做,以便超级实现实际上WebApplicationContext从您的@Configuration类(或您指定的任何上下文)中创建。