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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

spring的設值注入和構造注入有何區別,尤其是時效性區別

spring的設值注入和構造注入有何區別,尤其是時效性區別

fenkapian 2016-09-12 09:01:57
查看完整描述

1 回答

已采納
?
大咪

TA貢獻785條經驗 獲得超332個贊

相比而言設置注入具有以下優點:
???????????????????1)與傳統的JavaBean的寫法更相似,程序開發人員更容易理解、接受。
???????????????????通過setter方法設定依賴關系顯得更加直觀、自然。
???????????????????2)對于復雜的依賴關系,如果采用構造注入,會導致構造器過于臃腫,難以閱讀。
???????????????????Spring在創建Bean實例時,需要同時實例化其依賴的全部實例,因而導致性能下降。
???????????????????而是用設置注入可以避免這些問題。
???????????????????3)尤其在某些屬性可選的情況下,多參數的構造器更加笨重。
某些情況下,構造注入的優勢:
???????????????????1)構造注入可以再構造器中決定依賴關系的注入順序,有限依賴的優先注入。
???????????????????例如,組件中其它依賴關系的注入,常常需要依賴于Datasource的注入。
???????????????????采用構造注入,可以在代碼中清晰地決定注入順序。
???????????????????2)對于依賴關系無需變化的Bean,構造注入更加有用。
???????????????????因為沒有setter方法,所有的依賴關系全部在構造器內設定。
???????????????????因此,無需擔心后續代碼對依賴關系的破壞。
???????????????????3)依賴關系只能在構造器中設定,則只有組建的創建者才能改變組建的依賴關系。
???????????????????隊組建的調用者而言,組件內部的依賴關系完全透明,更符合高內聚的原則。

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


查看完整回答
2 反對 回復 2016-09-13
  • 1 回答
  • 0 關注
  • 4000 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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