ApplicationContext感知的替代方案

时间:2012-09-01 00:18:28

标签: java spring applicationcontext

我处于一种情况,我有一个类(设计糟糕)只有静态方法,我在其中添加一个新的字段,将初始化为由spring管理的bean。该字段将由其中一种静态方法使用。

我发现我可以创建一个可以识别上下文的新类,并从该类中获取bean。

class A implements ApplicationContextAware{

   static beanType givebean(){
   }

   //Code to retrieve bean from application context    
}

class B{

  static beanType bean;

  static void method1(){
      bean = A.giveBean();
      //does stuffs
  }

  static void method2(){
  }

}


 configuration file::
  <bean id="bean" class="X.X.X.X.beanType"/>

我的问题不仅仅是使用Applicationcontextaware,还有一种方法可以在不受spring管理的类中使用bean。我并不反对使用Appcontextaware,但我想知道这些是否还有其他可能性。谢谢。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Web应用程序,则可以使用:

然后:

WebApplicationContextUtils.getApplicationContext(extract servlet context from request for example)).getBean("beanid")

此致