亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

構造器注入與setter注入分開使用

構造器注入與setter注入分開使用

正在回答

1 回答

設值注入有如下優點:


設值注入需要該Bean包含這些屬性的setter方法

與傳統的JavaBean的寫法更相似,程序開發人員更容易理解、接收。通過setter方法設定依賴關系顯得更加只管。

對于復雜的依賴關系,如果采用構造注入,會導致構造器國語臃腫,難以閱讀。Spring在創建Bean實例時,需要同時實例化器依賴的全部實例,因而導致性能下降。而使用設值注入,則能避免這些問題

尤其是在某些屬性可選的情況況下,多參數的構造器顯得更加笨重


構造注入也不是絕對不如設值注入,在某些特定的場景下,構造注入比設值注入更加優秀。


構造注入有以下優勢:

構造注入需要該Bean包含帶有這些屬性的構造器

構造注入可以在構造器中決定依賴關系的注入順序,優先依賴的優先注入。例如,組件中其他依賴關系的注入,常常要依賴于DataSrouce的注入。采用構造注入,可以在代碼中清晰的決定注入順序。

對于依賴關系無需變化的Bean,構造注入更有用處。因為沒有Setter方法,所有的依賴關系全部在構造器內設定。因此,無需擔心后續的代碼對依賴關系產生破壞。

依賴關系只能在構造器中設定,則只有組件的創建者才能改變組件的依賴關系。對組件的調用者而言,組件內部的依賴關系完全透明,更符合高內聚的原則。

  建議:采用以設值注入為主,構造注入為輔的注入策略。對于依賴關系無需變化的注入,盡量采用構造注入;而其他的依賴關系的注入,則考慮采用設值注入。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

構造器注入與setter注入分開使用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號