在實際應用中例項化某個bean時,經常要在例項化該bean之前例項化另外乙個bean,因此產生了依賴關係,下面通過例項演示bean之間如何依賴。
假設有乙個person類和乙個car類,在例項化person類之前要先實現car的類。
person類:
package com.lzj.spring;
public
class
person
public
void
setname(string name)
public car getcar()
public
void
setcar(car car)
@override
public string tostring()
}
car類:
package com.lzj.spring;
public
class
car
public
void
setbrand(string brand)
public
double
getprice()
public
void
setprice(double price)
@override
public string tostring()
}
spring的配置檔案bean.xml為:
id="car"
class="com.lzj.spring.car">
name="brand"
value="baoma">
property>
name="price"
value="100000">
property>
bean>
id="person"
class="com.lzj.spring.person"
depends-on="car">
name="name"
value="lzj">
property>
bean>
beans>
測試類:
person person1 = (person) ctx.getbean("person");
system.out
.println(person1);
輸出為:person [name=lzj, car=null]
注意:depends-on=」car」只是指定了在獲取person的bean時,要現在ioc容器中能獲取car的bean,但是並不是說就把car的bean注入到了person的bean中了,要想person用有car的bean,需要在person的bean的配置中獲取car的bean,例如配置
depends-on=」car」指定的car的bean為person的前置依賴bean,會在person例項化之前建立好。如果前置依賴多個bean,則可以通過逗號,空格的方式指定bean的名稱。
五bean之間的繼承與依賴
spring 允許繼承 bean 的配置,被繼承的 bean 稱為父 bean.繼承這個父 bean 的 bean 稱為子 bean 子 bean 從父 bean 中繼承配置,包括 bean 的屬性配置子 bean 也可以覆蓋從父 bean 繼承過來的配置 父 bean 可以作為配置模板,也可以作為...
bean之間的繼承和依賴關係
bean配置之間的繼承 使用bean的parent屬性,指定繼承哪個bean的配置 注意 可以繼承父bean的屬性配置,也可以覆蓋從父bean繼承過來的配置 xml檔案配置 id helloset1 class hello.hello p name name p numberint 12 p num...
bean的依賴關係
spring 允許使用者通過 depends on 屬性設定 bean 前置依賴的bean,前置依賴的 bean 會在本 bean 例項化之前建立好 如果前置依賴於多個 bean,則可以通過逗號,空格或的方式配置 bean 的名稱 package com.learn.spring.relation ...