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

7
当扩展AbstractAnnotationConfigDispatcherServletInitializer类时,如何设置“active profile”属性?

在哪个 ApplicationContext 上?你想如何设置它?通常可以使用 JVM 参数来指定它。 - M. Deinum
1个回答

9

如果您想要设置不同上下文的配置文件,一种方法是覆盖原有的

AbstractAnnotationConfigDispatcherServletInitializer#createRootApplicationContext()

and

AbstractAnnotationConfigDispatcherServletInitializer#createServletApplicationContext()

在这里设置活动配置文件。例如:

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

注意这里的super调用。你需要这样做,以便父类实现能够根据你指定的@Configuration类(或任何上下文)创建WebApplicationContext


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接