Spring依賴注入的兩種方式比對
下面對spring依賴注入的兩種方式進行一些介紹和比對。Spring依賴注入的兩種方式是:
1.設置注入;
2.構造注入;
spring依賴注入之設置注入的優點:
與傳統的JavaBean的寫法更相似,程序員更容易理解、接受,通過setter方式設定依賴關系顯得更加直觀、明顯;
對于復雜的依賴關系,如果采用構造注入,會導致構造器過于臃腫,難以閱讀。Spring在創建Bean實例時,需要同時實例化其依賴的全部實例,因而導致死你功能下降。而使用設置注入,則避免這下問題;
尤其在某些屬性可選的情況下,多參數的構造器更加笨拙。
spring依賴注入之構造注入的優點:
構造注入可以再構造器中決定依賴關系的注入順序,優先依賴的優先注入。
對于依賴關系無須變化的Bean,構造注入更有用處;因為沒有setter方法,所有的依賴關系全部在構造器內設定,因此,不用擔心后續代碼對依賴關系的破壞。
依賴關系只能在構造器中設定,則只有組件的創建者才能改變組件的依賴關系。對組件的調用者而言,組件內部的依賴關系完全透明,更符合高內聚的原則;
建議采用以設置注入為主,構造注入為輔的注入策略。對于依賴關系無須變化的注入,盡量采用構造注入;而其他的依賴關系的注入,則考慮采用設置注入。
【編輯推薦】