spring中使用parent屬性來減少配置

2021-08-21 04:23:58 字數 2520 閱讀 2399

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