bean之間的關系:繼承和依賴繼承bean的配置
依賴bean配置 Spring允許用戶通過depends-on屬性設定bean前置依賴的bean,前置依賴的bean會在本bean實例化之前創建 如果前置依賴多個bean,則可以通過逗號,空格的方式配置bean的名稱
示例:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:p="http://www.springframework.org/schema/p" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 7 <!-- 抽象bean:bean的abstract屬性為true的bean,這樣的bean不能被IOC實例化,只能用來被繼承配置 8 若某一個bean的class屬性沒有指定,則改bean必須是一個抽象bean 9 -->10 <bean id="address" 11 p:city="BeiJing" p:street="HuiLongGuan" abstract="true"></bean>12 <!-- bean配置的繼承:使用bean的parent屬性指定繼承哪個bean的配置 -->13 <bean id="address2" class="com.yl.autowire.Address" parent="address"></bean>14 15 <bean id="address3" class="com.yl.autowire.Address" 16 parent="address2" p:street="WuDaoKou"></bean>17 18 <bean id="car" class="com.yl.autowire.Car" 19 p:brand="Audi" p:price="300000"></bean>20 <!-- 要求在配置person時,必須有一個關聯的car!換句話就是person這個bean依賴于car這個bean -->21 <bean id="person" class="com.yl.autowire.Person" 22 p:name="Tom" p:address-ref="address2" depends-on="car"></bean>23 </beans>
新聞熱點
疑難解答