bean之間的繼承和依賴關系


 

繼承Bean配置

Spring允許繼承bean的配置,被繼承的bean稱為父bean,繼承這個父BeanBean稱為子Bean

Bean從父Bean中繼承配置,包括Bean的屬性配置

Bean可以覆蓋從父Bean繼承過來的配置

Bean可以作為配置模版,也可以作為Bean實例。若只想把父Bean作為模版,可以設置<bean>abstract屬性為true,這樣的String將不會實例化這個Bean

並不是<bean>元素里的所有屬性都會被繼承。比如:autowireabstract,

可以忽略父Beanclass屬性,讓子Bean指定自己的類,而共享相同屬性配置,但此時abstract必須設置為true

<!--抽象Bean:beanabstract屬性為truebean,這樣的bean不能被IOC容器實例化,只用來被繼承配置. 若某一個beanclass屬性沒有指定,則該bean必須是一個抽象bean -->

   <bean id="address" class="cn.bdqn.spring.Address" p:ciyt="beijing"

      p:street="wudaokou" abstract="true"></bean>

   <bean id="a1" class="cn.bdqn.spring.Address" p:street="肖家河"

      parent="address">

   </bean>

Bean之間的依賴關系

Spring允許用戶通過depends-on屬性設定Bean前置依賴的Bean,前置依賴的Bean會在本Bean實例化之前創建好

如果前置依賴於多個Bean,可以通過逗號,空格或的方式配置Bean的名稱

   <bean id="person" class="cn.bdqn.spring.Person" p:name="zhangsna"

      p:age="23" depends-on="car">

   </bean>

   <bean id="car" class="cn.bdqn.spring.Car" p:brand="ford" p:price="100000"></bean>

 

 

Spring bean 的繼承和Java bean 的繼承有如下區別:

 

 1、Spring 中的子bean 和父bean 可以是不同類型,但在Java 中的,子類是對父類的加強,是一種特殊的父類。
 2、Spring 中bean 的繼承是實例之間的關系,主要表現為參數值的延續:而Java 中的繼承是類與類之間的關系,主要表現為方法及屬性的延續。
 3、Spring 中子bean 不可作父bean 使用,不具備多態'性:而Java 中的子類實例完全可當成父類實例使用。

 

<bean id="person" class="cn.bdqn.spring.Person" p:name="zhangsna"p:age="23" depends-on="car"></bean><bean id="car" class="cn.bdqn.spring.Car" p:brand="ford" p:price="100000"></bean>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM