<p id="bffd9"><cite id="bffd9"></cite></p>

      <cite id="bffd9"><b id="bffd9"><thead id="bffd9"></thead></b></cite>
        <output id="bffd9"><cite id="bffd9"></cite></output>

              <p id="bffd9"></p>

                    <p id="bffd9"></p>
                    只發布交易干貨的網站
                    用實戰期貨交易系統和心得助你重塑交易認知

                    +1分期貨開戶,保證金無條件+1%

                    點擊查看最新手續費保證金一覽表

                    ioc是什么意思(ioc本質基礎解析)

                    IoC基礎

                    新建一個空白的maven項目

                    分析完成

                    我們先用我們原來的方式寫一段代碼 .

                    1. 先寫一個UserDao接口

                    publicinterfaceUserDao{publicvoidgetUser();}

                    2. 再去寫Dao的完成類

                    publicclassUserDaoImplimplementsUserDao{@OverridepublicvoidgetUser(){System.out.println("獲取用戶數據");}}

                    3. 然后去寫UserService的接口

                    publicinterfaceUserService{publicvoidgetUser();}

                    4. 最后寫Service的完成類

                    publicclassUserServiceImplimplementsUserService{privateUserDaouserDao=newUserDaoImpl();@OverridepublicvoidgetUser(){userDao.getUser();}}

                    5. 測試一下

                    @Testpublicvoidtest(){UserServiceservice=newUserServiceImpl();service.getUser();}

                    這是我們原來的方式 , 開始大家也都是這么去寫的對吧 . 那我們現在修改一下 .

                    把Userdao的完成類增加一個 .

                    publicclassUserDaoMySqlImplimplementsUserDao{@OverridepublicvoidgetUser(){System.out.println("MySql獲取用戶數據");}}

                    緊接著我們要去運用MySql的話 , 我們就需要去service完成類里面修改對應的完成 .

                    ioc是什么意思(ioc本質基礎解析)

                    publicclassUserServiceImplimplementsUserService{privateUserDaouserDao=newUserDaoMySqlImpl();@OverridepublicvoidgetUser(){userDao.getUser();}}

                    在假設, 我們再增加一個Userdao的完成類 .

                    publicclassUserDaoOracleImplimplementsUserDao{@OverridepublicvoidgetUser(){System.out.println("Oracle獲取用戶數據");}}

                    那么我們要運用Oracle , 又需要去service完成類里面修改對應的完成 . 假設我們的這種需求十分大 , 這種 方式就根本不實用了, 以至反人類對吧 , 每次變動 , 都需要修改大量代碼 . 這種設想的耦合性太高了, 牽一 發而動全身

                    那我們如何去解決呢 ?

                    我們可以在需要用到他的地方 , 不去完成它 , 而是留出一個接口 , 利用set , 我們去代碼里修改下 .

                    publicclassUserServiceImplimplementsUserService{privateUserDaouserDao;//利用set完成publicvoidsetUserDao(UserDaouserDao){this.userDao=userDao;}@OverridepublicvoidgetUser(){userDao.getUser();}}

                    現在去我們的測試類里 , 進行測試 ;

                    @Testpublicvoidtest(){UserServiceImplservice=newUserServiceImpl();service.setUserDao(newUserDaoMySqlImpl());service.getUser();//那我們現在又想用Oracle去完成呢service.setUserDao(newUserDaoOracleImpl());service.getUser();}

                    大家發現了區別沒有 ? 可能許多人說沒啥區別 . 但是同學們 , 他們已經發生了根本性的變化 , 許多地方都 不一樣了 . 細心去思索一下 , 以前所有東西都是由程序去進行控制創建 , 而現在是由我們自行控制創建對 象 , 把主動權交給了調用者 . 程序不用去管怎么創建,怎么完成了 . 它只負責提供一個接口 . 這種思想 , 從實質上解決了問題 , 我們程序員不再去治理對象的創建了 , 更多的去關注業務的完成 . 耦合 性大大升高 . 這也就是IOC的原型 !

                    IOC實質

                    控制反轉IoC(Inversion of Control),是一種設想思想,DI(依靠注入)是完成IoC的一種辦法,也有人認 為DI只是IoC的另一種說法。沒有IoC的程序中 , 我們運用面向對象編程 , 對象的創建與對象間的依靠關系 完全硬編碼在程序中,對象的創建由程序自己控制,控制反轉后將對象的創建轉移給第三方,個人認為 所謂控制反轉就是:獲得依靠對象的方式反轉了。

                    IoC是Spring框架的核心內容,運用多種方式完美的完成了IoC,可以運用XML配置,也可以運用注解, 新版本的Spring也可以零配置完成IoC。

                    Spring容器在初始化時先讀取配置文件,根據配置文件或元數據創建與組織對象存入容器中,程序運用 時再從Ioc容器中取出需要的對象。

                    采用XML方式配置Bean的時分,Bean的定義信息是和完成分離的,而采用注解的方式可以把兩者合為 一體,Bean的定義信息直接以注解的形式定義在完成類中,從而達到了零配置的目的。

                    控制反轉是一種通過描述(XML或注解)并通過第三方去消費或獲取特定對象的方式。在Spring中完成 控制反轉的是IoC容器,其完成辦法是依靠注入(Dependency Injection,DI)。



                    本文名稱:《ioc是什么意思(ioc本質基礎解析)》
                    本文鏈接:http://www.bjhqmc.com/baike/240807.html
                    免責聲明:投資有風險!入市需謹慎!本站內容均由用戶自發貢獻,或整編自互聯網,或AI編輯完成,因此對于內容真實性不能作任何類型的保證!請自行判斷內容真假!但是如您發現有涉嫌:抄襲侵權、違法違規、疑似詐騙、虛假不良等內容,請通過底部“聯系&建議”通道,及時與本站聯系,本站始終秉持積極配合態度處理各類問題,因此在收到郵件后,必會刪除相應內容!另外,如需做其他配合工作,如:設置相關詞匯屏蔽等,均可配合完成,以防止后續出現此類內容。生活不易,還請手下留情!由衷希望大家能多多理解,在此先謝過大家了~

                    我要說說 搶沙發

                    評論前必須登錄!

                    立即登錄   注冊

                    切換注冊

                    登錄

                    忘記密碼 ?

                    切換登錄

                    注冊

                    我們將發送一封驗證郵件至你的郵箱, 請正確填寫以完成賬號注冊和激活

                      <p id="bffd9"><cite id="bffd9"></cite></p>

                        <cite id="bffd9"><b id="bffd9"><thead id="bffd9"></thead></b></cite>
                          <output id="bffd9"><cite id="bffd9"></cite></output>

                                <p id="bffd9"></p>

                                      <p id="bffd9"></p>
                                      成人电影