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

2021-07-27 15:25:38 字數 2361 閱讀 6651

在基於spring框架開發的專案中,如果有多個bean都是乙個類的例項,如配置多個資料來源時,大部分配置的屬性都一樣,只有少部分不一樣,經常是copy上乙個的定義,然後修改不一樣的地方。其實spring bean定義也可以和物件一樣進行繼承。

示例如下:

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

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

來自 在基於spring框架開發的專案中,如果有多個bean都是乙個類的實力,如配置多個資料來源時,大部分配置的屬性都一樣,只有少部分不一樣,經常是copy上乙個的定義,然後修改不一樣的地方。其實spring bean定義也可以和物件一樣進行繼承。示例如下 1 2 3 4 5 6 7 8 beani...

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

在基於spring框架開發的專案中,如果有多個bean都是乙個類的實力,如配置多個資料來源時,大部分配置的屬性都一樣,只有少部分不一樣,經常是copy上乙個的定義,然後修改不一樣的地方。其實spring bean定義也可以和物件一樣進行繼承。beanid testbeanparent abstrac...

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

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