我有一個Spring框架相關的查詢。用運行時創建的實例替換已經創建的實例
你能幫我解決這個問題。我的要求是用編程的方式在運行時創建一個已經創建的單例實例。
我有豆中定義的Spring上下文如下:
<bean name="configuration"
class="com.myapp.tests.ServiceConfiguration" />
<bean name="anotherBean class="com.myapp.tests.AnotherBeanClass">
<property ref="configuration"/>
</bean>
,我加載使用
ApplicationContext ctx = ClassPathXMLApplicationContext("appConfig.xml");
我需要創建com.myapp.tests的新實例上下文.ServiceConfiguration,並在運行時替換「配置」,並加載其他依賴於此(刷新類型)的bean。在我們的例子中,anotherBean應該在我重新註冊單例之後看到新創建的ServiceConfiguration實例。
請問您是否願意發佈解決方案,因爲我是這種彈簧要求的新手。我得到一個錯誤,如果我嘗試註冊Singleton,因爲它說這個bean不能被註冊爲已經存在。錯誤infact是正確的,但我需要這種能力的應用程序。
謝謝你的幫助。
你想如何創建新實例?你用'新'嗎? – 2013-08-23 16:06:32
其實我正在使用dropwizard框架。 Dropwizard框架爲我提供了這個對象。我將不得不注入春豆。感謝您的回覆 – praveenkm
假設它是否通過新建立,請問我可以告訴我這可以做到嗎? – praveenkm