五bean之間的繼承與依賴

2021-07-30 09:57:36 字數 1260 閱讀 9056

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...