【问题标题】:Setting "Active Profile" through Class AbstractAnnotationConfigDispatcherServletInitializer?通过类 AbstractAnnotationConfigDispatcherServletInitializer 设置“活动配置文件”?
【发布时间】:2013-12-26 16:25:12
【问题描述】:

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

【问题讨论】:

  • 在哪个ApplicationContext上?你想如何设置它?通常您可以使用 JVM 参数指定它。

标签: spring spring-mvc spring-data


【解决方案1】:

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

AbstractAnnotationConfigDispatcherServletInitializer#createRootApplicationContext()

AbstractAnnotationConfigDispatcherServletInitializer#createServletApplicationContext()

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

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

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

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2015-11-05
    • 1970-01-01
    • 2017-07-12
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 2018-11-18
    相关资源
    最近更新 更多