我处于一种情况,我有一个类(设计糟糕)只有静态方法,我在其中添加一个新的字段,将初始化为由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,但我想知道这些是否还有其他可能性。谢谢。
答案 0 :(得分:0)
如果您使用的是Web应用程序,则可以使用:
然后:
WebApplicationContextUtils.getApplicationContext(extract servlet context from request for example)).getBean("beanid")
此致