在spring上下文初始化开始之前执行一段java代码

时间:2015-09-17 07:03:09

标签: java spring

在我的应用程序中,spring配置文件导入基于下面的环境属性

<import resource="classpath:/springcontext/text/dao_${environment}.xml" />

我们知道在创建bean(property-placeholder)之前解析spring配置导入。

但我的要求是设置&#34;环境&#34;作为来自java代码的系统属性,因为环境值不是常量,所以必须根据某些逻辑进行设置 在春季配置导入解决之前 我可以以某种方式协助Spring如何归档这个。

1 个答案:

答案 0 :(得分:3)

作为@M。 Denium正确地指出,您可以使用Interface ApplicationContextInitializer来满足这种需求

来自Spring Docs

  

public interface ApplicationContextInitializer

     

用于初始化Spring的回调接口   刷新之前的ConfigurableApplicationContext。

     

通常在需要某些程序化的Web应用程序中使用   初始化应用程序上下文。例如,注册   属性源或激活配置文件的上下文   环境。请参阅ContextLoader和FrameworkServlet支持   声明“contextInitializerClasses”context-param和init-param,   分别