spring爲什麼注入接口而不是實現類?

首先,一般使用接口是很常用並且有益的變成技術。

其次,在spring中,你可以在運行過程中注入各種實現。一個很經典的情況就是在測試階段,注入模擬的實現類。

===

1.網上說jdk動態代理基於實現接口。直接注入實現類會使aop失效。沒有cglib可能真的就失效了。
2.解耦。假如有一天實現類的名稱變了。每個依賴注入它的都要修改。而注入接口的不需要修改,只需要替換實現類就行。

===

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章