日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java反向注入_java 控制反转和依赖注入的理解

發布時間:2024/1/23 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java反向注入_java 控制反转和依赖注入的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開始好好學習java基礎和思想~

控制反轉(IOC)是Spring框架的核心思想,用我自己的話說,就是你要做一件事,別自己可勁new了,你就說你要干啥,然后外包出去就好~

依賴注入(DI) 在我淺薄的想法中,就是通過接口的引用和構造方法的表達,將一些事情整好了反過來傳給需要用到的地方~

這樣做得好處:做到了單一職責,并且提高了復用性,解耦了之后,任你如何實現,使用接口的引用調用的方法,永遠不需要改變

舉一個栗子:

寫個接口,說咱們購物去~

public interfaceIShopping {voiddrive();

String Money();

}

在實現它兩下:有錢人購物,沒錢人購物 ? ? - -!這栗子舉的

public class RichMan implementsIShopping{

@Overridepublic voiddrive() {

System.out.println("Drive By Benz");

}

@OverridepublicString Money() {

System.out.println("lot`s of money");return "10000";

}

}

public class PoorGuy implementsIShopping{

@Overridepublic voiddrive() {

System.out.println("take a walk!");

}

@OverridepublicString Money() {

System.out.println("nothing");return "1";

}

}

然后我們出去玩,順便shopping一下吧~

public classPlay {privateIShopping shoppingSomething;

//使用構造方法,將實現傳入publicPlay(IShopping shoppingSomething){this.shoppingSomething =shoppingSomething;

}public voidwithgirlFriend(){

shoppingSomething.drive();

shoppingSomething.Money();

}

}

將想用的實現方式,用容器注入進來,這里就模擬下下怎么注入:

public classContainner {publicPlay getShopping(){return new Play(newRichMan());

}

}

測試一下:

public static voidmain(String[] args) {

Containner containner= newContainner();

Play play=containner.getShopping();

play.withgirlFriend();

}

結果是:

Drive By Benz

lot`s of money

如果再依賴注入的配置時,配置為窮人的實現,那我們的代碼都不用變,結果就會改變~ ? 嗯,應該理解了。

總結

以上是生活随笔為你收集整理的java反向注入_java 控制反转和依赖注入的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。