2011-04-08 118 views
1

我們的應用程序使用Spring容器和Spring AOP.We需要實例化Spring容器中的所有對象,以便Spring AOP可以與整個應用程序一起工作 有沒有什麼辦法可以實例化域對象,從春container.we工廠方法不想用AspectJ使用Spring容器實例化域對象和工廠對象

<bean id="ExBean" factory-bean="ExFactoryBean" factory-method="getObj"> 
<constructor-arg ref="runtimeBean"/> 
<constructor-arg value="Add"/> 
</bean> 

我想在運行時選擇接口實現類和類應該從春天被實例化。我們必須使用工廠方法創建的類,但在運行時類的bean實例尚未達到這一步

+0

我認爲這可能有幫助:http://static.springsource.org/spring/docs/2.5.x/reference/beans.html – Drahakar 2011-04-08 06:04:29

回答

0

是的,你可以配置Spring從工廠方法實例化對象

<bean id="exampleBean" 
     class="examples.ExampleBean2" 
     factory-method="createInstance"/> 
+0

謝謝@Jigar和@ Bozho.Yy問題是工廠方法有兩個參數和那些參數在運行時被實例化,但Spring將在編譯時實例化Factory bean。前進的方式是什麼? – Vish 2011-04-08 07:43:35

+0

'Spring將在編譯時實例化Factory bean'否,它會在上下文初始化時初始化它們,如果渴望的話,調用時間如果懶惰。春豆是更多的服務豆,所以它似乎奇怪的設計給我。 – 2011-04-08 07:57:48

+0

抱歉初始化發生在上下文初始化only.i想錯了,但工廠方法需要來自請求的數據,這將只在運行時可用.so上下文初始化不能解決問題 – Vish 2011-04-08 08:03:18

0

有兩個選項可以讓彈簧管理對象:

  • 讓Spring實例化它們
  • 使用apsectj編織

沒有別的辦法。