当扩展AbstractAnnotationConfigDispatcherServletInitializer类时,如何设置“active profile”属性?
如果您想要设置不同上下文的配置文件,一种方法是覆盖原有的
AbstractAnnotationConfigDispatcherServletInitializer#createRootApplicationContext()
and
AbstractAnnotationConfigDispatcherServletInitializer#createServletApplicationContext()
在这里设置活动配置文件。例如:
@Override
protected WebApplicationContext createRootApplicationContext() {
WebApplicationContext context = (WebApplicationContext)super.createRootApplicationContext();
((ConfigurableEnvironment)context.getEnvironment()).setActiveProfiles("profiles");
return context;
}
注意这里的super
调用。你需要这样做,以便父类实现能够根据你指定的@Configuration
类(或任何上下文)创建WebApplicationContext
。
ApplicationContext
上?你想如何设置它?通常可以使用 JVM 参数来指定它。 - M. Deinum