0

我的情况是,我有一个只有静态方法的类(设计糟糕),并且我在其中添加了一个新字段,该字段将初始化为由 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,但我想知道这些是否还有其他可能性。谢谢。

4

1 回答 1

0

如果您在 Web 应用程序中,您可以使用:

然后:

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

问候

于 2012-09-01T07:11:57.687 回答