<?xml version="1.0" encoding="utf-8"?>
xmlns=""
xmlns:xsi=""
xmlns:aop=""
xmlns:c=""
xmlns:cache="ache"
xmlns:context="ontext"
xmlns:jdbc=""
xmlns:jee=""
xmlns:lang=""
xmlns:mvc=""
xmlns:p=""
xmlns:task=""
xmlns:tx=""
xmlns:util=""
xsi:schemalocation=" /spring-beans.xsd
/spring-aop.xsd
ache ache/spring-cache.xsd
ontext ontext/spring-context.xsd
/spring-jdbc.xsd
/spring-jee.xsd
/spring-lang.xsd
/spring-mvc.xsd
/spring-task.xsd
/spring-tx.xsd
/spring-util.xsd">
name="parentdatasource"
abstract="true"
class="com.alibaba.druid.pool.druiddatasource"
init-method="init"
destroy-method="close">
name="initialsize"
value="0" />
name="maxactive"
value="1500" />
name="minidle"
value="0" />
name="maxwait"
value="60000" />
name="validationquery"
value="$" />
name="testwhileidle"
value="true" />
name="testonborrow"
value="false" />
name="testonreturn"
value="false" />
name="timebetweenevictionrunsmillis"
value="60000" />
name="minevictableidletimemillis"
value="25200000" />
name="removeabandoned"
value="true" />
name="removeabandonedtimeout"
value="1800" />
name="logabandoned"
value="true" />
name="filters"
value="stat" />
bean>
id="datasource1"
parent="parentdatasource">
name="url"
value="$" />
name="username"
value="$" />
name="password"
value="$" />
bean>
id="datasource2"
parent="parentdatasource">
name="url"
value="$" />
name="username"
value="$" />
name="password"
value="$" />
bean>
id="datasource3"
parent="parentdatasource">
name="url"
value="$" />
name="username"
value="$" />
name="password"
value="$" />
name="maxwait"
value="30000" />
bean>
beans>
如果子bean
定義沒有指定class屬性,它將使用父bean
定義的class屬性,當然也可以覆蓋它。在後面一種情況中,子bean的class屬性值必須同父bean相容,也就是說它必須接受父bean的屬性值。
乙個子bean定義可以從父bean繼承構造器引數值、屬性值以及覆蓋父bean的方法,並且可以有選擇地增加新的值。如果指定了init-method
,destroy-method
和/或靜態factory-method
,它們就會覆蓋父bean相應的設定。
spring中使用parent屬性來減少配置
來自 在基於spring框架開發的專案中,如果有多個bean都是乙個類的實力,如配置多個資料來源時,大部分配置的屬性都一樣,只有少部分不一樣,經常是copy上乙個的定義,然後修改不一樣的地方。其實spring bean定義也可以和物件一樣進行繼承。示例如下 1 2 3 4 5 6 7 8 beani...
spring中使用parent屬性來減少配置
在基於spring框架開發的專案中,如果有多個bean都是乙個類的例項,如配置多個資料來源時,大部分配置的屬性都一樣,只有少部分不一樣,經常是copy上乙個的定義,然後修改不一樣的地方。其實spring bean定義也可以和物件一樣進行繼承。示例如下 xmlns xmlns xsi xmlns ao...
spring中使用parent屬性來減少配置
在基於spring框架開發的專案中,如果有多個bean都是乙個類的實力,如配置多個資料來源時,大部分配置的屬性都一樣,只有少部分不一樣,經常是copy上乙個的定義,然後修改不一樣的地方。其實spring bean定義也可以和物件一樣進行繼承。beanid testbeanparent abstrac...