0
我處於一種只有靜態方法的類(設計糟糕),並且在其中添加了一個新的字段,它將被初始化爲一個由Spring管理的bean。該字段將被其中一個靜態方法使用。用於ApplicationContext識別的替代
我發現我可以創建一個新的類,這將是上下文感知並從該類獲取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,但我想知道這是否是其他可能性來做到這一點。謝謝。
雖然像WebApplicationContextUtils將從技術工作透視,這應該是重構的轉化爲非靜態方法。 –
是的,確切地說。但這是一個遺留代碼,正在逐步淘汰。所以現在我正在做一個快速修復。 – maverik