0

私は、静的メソッドのみを持つクラス (設計が悪い) があり、その中に新しいフィールドを追加して、Spring によって管理される Bean に初期化する状況にいます。このフィールドは、静的メソッドの 1 つによって使用されます。

コンテキストに対応した新しいクラスを作成し、そのクラスから 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 に答える