spring 允許繼承 bean 的配置, 被繼承的 bean 稱為父 bean. 繼承這個父 bean 的 bean 稱為子 bean
子 bean 從父 bean 中繼承配置, 包括 bean 的屬性配置子 bean 也可以覆蓋從父 bean 繼承過來的配置
父 bean 可以作為配置模板, 也可以作為 bean 例項. 若只想把父 bean 作為模板, 可以設定 的abstract 屬性為 true, 這樣 spring 將不會例項化這個 bean
並不是 元素裡的所有屬性都會被繼承. 比如: autowire, abstract 等.
也可以忽略父 bean 的 class 屬性, 讓子 bean 指定自己的類, 而共享相同的屬性配置. 但此時 abstract 必須設為 true
ex:
address add= (address) ctx.getbean("address3");
system.out.println(add.tostring());
抽象bean的配置:
address2例項化的時候會報錯,如果某乙個bean的class屬性沒有被指定,那麼這個bean一定是乙個抽象bean
address3只會繼承address2的city和street屬性,而其他的內容並不會繼承
2.bean之間的依賴關係:
spring 允許使用者通過 depends-on 屬性設定 bean 前置依賴的bean,前置依賴的 bean 會在本 bean 例項化之前建立好如果前置依賴於多個 bean,則可以通過逗號,空格或的方式配置 bean 的名稱
ex:
person pp= (person) ctx.getbean("person2");
/*address add= (address) ctx.getbean("address3");*/
system.out.println(pp.tostring());
如果缺失了car這個bean,那麼程式就會報錯。
bean 的作用域:singleton:預設值,容器建立bean例項,在整個容器的生命週期內只建立這乙個bean,單例的
prototype:原型的,容器初始化時不建立bean的例項,每次請求的時候都會建立乙個新的bean例項,並返回。
bean之間的繼承和依賴關係
bean配置之間的繼承 使用bean的parent屬性,指定繼承哪個bean的配置 注意 可以繼承父bean的屬性配置,也可以覆蓋從父bean繼承過來的配置 xml檔案配置 id helloset1 class hello.hello p name name p numberint 12 p num...
Bean之間的依賴配置
在實際應用中例項化某個bean時,經常要在例項化該bean之前例項化另外乙個bean,因此產生了依賴關係,下面通過例項演示bean之間如何依賴。假設有乙個person類和乙個car類,在例項化person類之前要先實現car的類。person類 package com.lzj.spring publ...
spring bean之間的關係 繼承和依賴
bean之間的關係 繼承和依賴 看下面的配置檔案,兩個bean屬性除了street不一樣外,其餘的都是一樣的。繼承 所以可以用下面的方式繼承。spring允許繼承bean的配置,被繼承的bean稱為父bean,繼承這個父bean的bean稱為子bean 子bean從父bean中繼承配置,包括bean...