我想在傳統應用程序中使用Spring。Spring:將啓動ApplicationContext的對象注入ApplicationContext
核心部分是一類,我們稱之爲LegacyPlugin,它表示應用程序中的一種可插入部分。問題是,這個類也是數據庫連接器,以及用於創建許多其他的對象,通常是通過構造函數注入...
我想從LegacyPlugin推出一個ApplicationContext,並注入例如,ApplicationContext通過BeanFactory創建其他對象。代碼將被重寫,使用setter注入&等等。
我想知道什麼是實現這一目標的最佳方法。到目前爲止,我有一個使用BeanFactory的工作版本,它使用ThreadLocal來保存對當前執行的插件的靜態引用,但對我來說似乎很難...
下面是我想結束的代碼:
public class MyPlugin extends LegacyPlugin {
public void execute() {
ApplicationContext ctx = new ClassPathXmlApplicationContext();
// Do something here with this, but what ?
ctx.setConfigLocation("context.xml");
ctx.refresh();
}
}
<!-- This should return the object that launched the context -->
<bean id="plugin" class="my.package.LegacyPluginFactoryBean" />
<bean id="someBean" class="my.package.SomeClass">
<constructor-arg><ref bean="plugin"/></constructor-arg>
</bean>
<bean id="someOtherBean" class="my.package.SomeOtherClass">
<constructor-arg><ref bean="plugin"/></constructor-arg>
</bean>
如果你有訪問類你想要注入應用程序上下文?我不確定我是否理解每個課程背後的理論基礎? – Fil 2011-03-29 20:35:49
基本上,我想擺脫插件內部的大量初始化代碼。 – mexique1 2011-03-30 09:13:33