我正在使用彈簧依賴注入,其中我可以通過一些外部xml文件注入對象依賴關係。使用彈簧DI無界面是否正確
我的問題是:
是不是蠻好用的彈簧DI不使用接口?
因爲與DI,我們要做到一兩件事:
如果一個類是由具有相同的方法,但不同定義的一些其他類的替代,那麼我們就需要在代碼中的任何改變這個類正在被引用。
這很好,如果我使用接口作爲接口可以指向任何正在實現此接口的類,但如果我直接通過DI注入類對象,那麼DI沒有意義,因爲在這種情況下,如果類被替換,我必須在我們的代碼被引用的地方更改代碼。
如果出現問題,請讓我糾正。
比方說,我有
Class Datasource{
String url;
String user;
String database;
}
現在我使用它,而不DI爲
Class Abc{
Datasource datasource = new Datasource();
}
什麼在這個問題,什麼是我可以,如果我使用DI的好處。
獲得單身物件唯一目標的DI?
這不是你想用依賴注入實現的事情。您想要將配置相關對象(即使用存儲庫的服務)。 DI與能夠替換依賴關係無關。無論使用接口還是不使用接口,Dependeny Injection都可以並且可以工作。 – 2014-10-09 10:33:24
我們沒有提到XML中的接口,而是類。在實時應用程序中,類很少被替換或與其他類交換。並且DI不是「如果一個班正在重新......」 – Jaikrat 2014-10-09 10:33:43
@ M.Deinum如果DI不是「如果一個班級......」那麼DI有什麼好處,爲什麼我應該將控制外化? – 2014-10-09 10:46:22