Spring迴圈依賴的三種方式

2021-10-08 02:20:15 字數 1421 閱讀 9608

public

class

duck

public

duck

(duck duck)

public

void

setduck

(duck duck)

}

"duck1"

class

="model.duck"

>

"0" ref=

"duck2"

/>

<

/bean>

"duck2"

class

="model.duck"

>

"0" ref=

"duck3"

/>

<

/bean>

"duck3"

class

="model.duck"

>

"0" ref=

"duck1"

/>

<

/bean>

public

class

main

}執行結果:

error creating bean with name 'duck1' defined in class

path resource

: cannot resolve reference to bean 'duck2'

while

setting constructor argument。。。。

"duck1"

class

="model.duck"

>

"duck" ref=

"duck2"

/>

<

/bean>

"duck2"

class

="model.duck"

>

"duck" ref=

"duck3"

/>

<

/bean>

"duck3"

class

="model.duck"

>

"duck" ref=

"duck1"

/>

<

/bean>

public

class

main

}執行結果:

process finished with exit code 0

如果bean物件的作用域為prototype,也就是每次請求都會建立乙個物件,spring並不會提供快取功能,所有也就不能提前將那些已經呼叫了構造方法但還沒有設定屬性的bean給暴露出來,也就無法解決迴圈依賴。

Spring依賴注入的三種方式

1 自動裝配 2 配置檔案ref配置 3 resource註解注入 使用 resource註解注釋需要注入的依賴宣告。如 public class usermanageimp implements iusermanage public void setuserdao iuserdao userdao...

spring 依賴注入的三種方式

autowired 構造器,引數,方法,屬性 都是從容器中獲取引數元件的值 set方法注入 構造器注入 作為bean方法的引數注入 例子 boss 注入car類 car類 package com.spring.bean component public class car boss類 package...

spring常用的三種依賴注入方式

日常開發中,某個類需要依賴其它類的方法,通常是new乙個依賴類再呼叫類例項的方法,這種開發存在的問題是new的類例項不好統一管理 spring提出了依賴注入的思想,即依賴類不由程式設計師例項化,而是通過spring容器幫我們new指定例項,並且將例項注入到需要該物件的類中。依賴注入的另一種說法是 控...