Spring注入問題需注意的

2021-07-07 10:04:32 字數 753 閱讀 4739

1.屬性注入方式:必須(1)要求bean提供乙個預設的建構函式(即無參建構函式,才能是用反射例項化bean之後注入屬性)

(2)提供set***()的方法用於注入屬性,不要求一定要有***成員變數,但是習慣上會提供對應的成員屬性

2.構造注入的方式:必須提供相對應的建構函式才能完成例項化(也是使用反射),

(1)按照型別入參,使用的形式入參,缺點在於,如果有相同數量相同型別、順序不同的多個建構函式,無法確定具體使用那個構造器注入。

(2)按照索引入參,使用的形式,缺點在於,如果數量相同,對應的index的型別殘生歧義(比如int和double),spring就無法判斷使用那乙個構造器注入,,跟(1)的情況一樣,spring預設的處理方式是使用隨機的乙個構造器完成注入,所以會有潛在問題,可能和我們想注入的構造器不一致,所以最好使用第三種方式注入

(3)聯合使用索引和型別注入的方式,這種方式是最好的,**最健壯的,減少安全隱患,不嫌麻煩的話最好使用這一種

(4)由自身的型別反射匹配入參,如果提供的構造器型別清晰,spring可以分辨,可以使用,這種反射最省事,但是最容易出事,不推薦使用。

總結:兩種注入方式各有優缺點,sping並沒有強制要求使用哪一種,完全可以由使用者自己決定,但是個人推薦使用屬性注入的方法,一是符合我們日常編碼習慣,而是不容易出現問題,構造注入的方式還有一點是容易引發迴圈依賴的問題,如果兩個bean的構造器相互依賴,sping在例項化的時候會出現類似」死鎖「的問題, sping就無法完成初始化。

(參考《spring3.0就是那麼簡單》43頁)

生成 XML Excel 需注意的問題

size large 1996 12 17t01 32 42z 2009 10 15t04 07 04z 11.5606 4530 8505 480120 false false 行數,需要人為更改,否則會出錯。鑑證業務調查彙總表 年第季度 單位受理業務數量 涉案標的 鑑定 複核裁定 認證 糾紛 諮...

男人需注意的

1,事業永遠第一 雖然金錢不是萬能的,但沒有錢是萬萬不能的,雖然這句話很俗,但絕對有道理,所以30歲之前,請把你大部分精力放在你的事業上.2,別把錢看得太重 不要抱怨自己現在工資低,銀行存款4位數以下,看不到前途,現在要做的就是努力學習,即使你文憑再高,怎麼把理論運用到實踐還是需要乙個很長的鍛鍊過程...

c程式設計中需注意的問題

1.對於指標變數,乙個非常中的操作就是要判斷其有效性,即是否為空指標。如利用動態記憶體申請運算子申請記憶體後,需要首先對記憶體是否申請成功進行判斷。2.static 再c語言中宣告函式時,該static 函式只具有檔案作用域。及該函式的作用域被限制再宣告它的模組內。3.變數型別的自動轉換 當乙個操作...