Spring bean裡的parent屬性

2021-06-09 05:06:16 字數 1667 閱讀 6350

有乙個test的類,裡面有user屬性和setuser(user user)方法,現在用spring的ioc,使用到bean裡的parent屬性。

...

"testproxy" class=

"org.springframework.transaction.interceptor.transactionproxyfactorybean"

abstract

="true"

>   //********(1)

"transactionmanager"

>

"transactionmanager"

/>

<

/property>

"proxytargetclass" value=

"true"

/>

"transactionattributes"

>

"*insert*"

>propagation_required<

/prop>

"*select*"

>propagation_required,readonly<

/prop>

<

/props>

<

/property>

<

/bean>

"test" parent=

"testproxy"

>

"target"

>

"testit"

/>  //******(2)

<

/property>

<

/bean>

"testit" class=

"cn.hh.cglib.form.test"

>

"user"

>

"user"

/>

<

/property>

<

/bean>

"user" class=

"cn.hh.cglib.form.user"

>

<

/bean>

...

如果為了解決**的低重用,我在testproxy裡沒有定義target,target的定義放在了外面乙個bean裡,這個bean繼承了testproxy(parent),這樣bean中parent中已注入的屬性不需要再注入。

要注意的地方:

1. 在proxy裡沒有定義target屬性,所以一定要在bean裡加上abstract="true"

2. 如果想在test裡注入user,可以在(2)處target下的值再在外面呼叫乙個bean,在這個bean裡去注入user,因為上面test是繼承於

transactionproxyfactorybean

,它並沒有setuser()方法。

在外面直接呼叫 test test = (test)***.getbean("test");  這裡是cglib

SPRING BEAN的例項化

3.2.3.2.2.使用靜態工廠方法例項化 當採用靜態工廠方法建立bean時,除了需要指定class屬性外,還需要通過factory method屬性來指定建立bean例項的工廠方法。spring將呼叫此方法 其可選引數接下來介紹 返回例項物件,就此而言,跟通過普通構造器建立類例項沒什麼兩樣。下面的...

spring bean的配置(一)

案例一 xmlns xmlns xsi xsi schemalocation spring beans.xsd id class bean id class bean beans id屬性 定義單個bean元件的命名。class屬性 定義了bean使用的類,要使用類的全稱來定義。fully qual...

spring bean的自動裝配

spring bean的自動裝配 在spring框架應用場景中會有這麼一種情況。乙個bean在不同的使用類裡面都要配置。這個bean相對來說是單獨的。也就是說如果要裝配這個bean.在不同的使用類裡面都需要寫相關的 注入 那有沒有這麼一種方式。可以通過配置自動的來注入bean到相關的屬性中去。spr...