2012-07-17 114 views

回答

4

更新:通過測試進行驗證,範圍也從父bean繼承,並且可以由子級覆蓋。所以在這種情況下,childrendDao將成爲原型。

這就是參考文件中所述: http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-child-bean-definitions

子bean定義繼承構造器參數值,屬性 值和方法覆蓋從父,以增加 新值的選項。您指定的任何初始化方法,銷燬方法和/或靜態 工廠方法設置都將覆蓋對應父級設置 。

剩餘的設置總是從子定義處得到: 依賴,自動裝配模式,依賴檢查,,範圍,懶 初始化。

+0

我不確定您的測試,但是參考文檔指出範圍未被覆蓋,但始終取自子定義。另見http://forum.spring.io/forum/spring-projects/container/30772-does-scope-prototype-in​​-a-parent-bean-apply-to-child-beans以及http:// springindepth .COM /電子書/深入-IOC-豆inheritance.html – p91paul 2015-05-13 10:26:15

0
<bean id="dao" class="parentDao" 

    scope="prototype"> 

</bean> 

<bean id="childrenDao" 

    class="some.dao.extends.parentDao" 

    parent="parentDao"> 

我這種情況下childrenDao將。我測試過它,因爲當我看到一些令人困惑的答案時,我變得生氣。