<th id="6yc0e"></th>
  • <samp id="6yc0e"><pre id="6yc0e"></pre></samp>
  • <ul id="6yc0e"><pre id="6yc0e"></pre></ul><ul id="6yc0e"><pre id="6yc0e"></pre></ul>
    <samp id="6yc0e"><pre id="6yc0e"></pre></samp>
  • <th id="6yc0e"></th>
    <samp id="6yc0e"></samp>
  • <kbd id="6yc0e"><pre id="6yc0e"></pre></kbd>
    <samp id="6yc0e"></samp>
    <ul id="6yc0e"><tbody id="6yc0e"></tbody></ul>
  • <samp id="6yc0e"></samp>
  • 在线免费成人亚洲av,无码毛片一区二区本码视频,亚洲日韩一区精品射精,国产99视频精品免费视频36

    基于 Spring 框架的依賴注入研究論文

    時間:2021-04-16 12:58:57 論文 我要投稿

    基于 Spring 框架的依賴注入研究論文

      引言

    基于 Spring 框架的依賴注入研究論文

      依賴注入(Dependency Injection)或者說控制反轉(Inversionof Control)是 Spring 框架結構的核心之一; Spring 框架結構的系統中,DI 可以為任意對象動態的提供所需,代替了過去在控制對象生命周期和關系時需要直接依靠代碼的方式。

      1.依賴注入的原理與實現

      依賴注入(DI)和依賴查找(Dependency Lookup)共同組成控制反轉(IoC)。從原理的角度來說,依賴注入和控制反轉是沒有不同的,可以看作是從兩個角度來闡述一個概念,即基于 Spring的架構系統中,在一個對象(調用者)為另一個對象(被調用者)協助工作(調用)時,不用創建,該調用由 Spring 的 Bean 完成,也就是控制反轉。

      依賴注入是使用 Reflection 實現的,在 Java 1.3 以后,有一個重要特性是 Reflection 可以當執行系統的`時候,進行動態的創建、運行和修改實例。舉個例子,當需要進行數據庫操作時,不通過Spring 的做法是在操作中編寫命令代碼以得到 Connection,通過Spring 的做法是在系統運行中得到 Connection 并注入,來對各個對象進行控制。

      依賴注入不僅可以在容器中注入一般屬性值,也能將其他引用注入。在實際應用中,如果要調用實例,不再需要各組件應用Factory 模式,也不再需要依靠編寫代碼實現低耦合,而是可以做到實例的自動提供,也就是達到了程序的“按需分配”。

      Bean 的接收和管理由控制反轉實現,即定位、配置、實例化并且構造依賴應用程序的 Bean。BeanFactory 是 Spring 框架中的控制反轉容器,項目中通常使用 XML 方式來描述對象間的依賴關系,配置元數據,如 XmlBeanFactory 可完成完全可配置系統。

      在 Spring 框架中,控制反轉管理是通過依賴注入進行的。依賴注入包括設置方式注入(Setter Injection)和構造子注入(Constructor Injection)兩種。SI 是通過 JavaBean 屬性進行依賴注入,CI 是通過構造子參數進行依賴注入。JavaBean 經由 Spring框架的管理配置可以得到低耦合的系統,實現系統的分層架構。

      2.注入方式的對比

      既然 Spring 框架支持兩種依賴注入方式,即設置方式注入和構造子注入,那么它們各有何優勢呢?

      設置方式注入可以通過 Setter 很簡單直接的進行設定,使得編寫代碼更加方便自如,這與傳統的 JavaBean 很相似,有利于程序員的掌握和使用。設置方式注入還可以解決由于依賴關系復雜,閱讀困難構造器太大的問題。

      構造子注入不可以通過 Setter 進行設定,其依賴關系均在構造器中完成設定,不依靠 Bean 進行依賴關系的變化,不可能發生依賴關系被后面編寫的代碼破壞的現象,更能發揮自身的作用。構造子注入可以通過創建組件來實現改變依賴關系,同時由于設定集中在構造器,組件關系高內聚。

      3.項目應用

      系統的擴展以及維護通過系統組件的松散耦合得以加強,這種低耦合是由業務邏輯與控制器,業務邏輯與 DAO 的依賴來實現的。依賴業務邏輯接口,即針對此進行編程,跟具體實現類以及控制器沒有關系,具體實現類以及業務邏輯組件也沒有關系。Spring 框架中組件均為 Bean,例如 SessionFactory、事務管理器、數據源等,因此所有組件在應用中的管理均采用Bean 方式,Spring對創建 Bean 以及 Bean 的生命周期來管理。其依賴關系是通過配置文件給 Bean 進行精確的屬性注入來組織和運用的,而不是依靠編寫代碼。

      在Action類的內部通過依賴注入使得進行業務邏輯操作的時候,實現低耦合以及組件調用方便。另外,在業務邏輯組件中通過依賴注入底層 DAO 組件完成數據庫操作。

    【基于 Spring 框架的依賴注入研究論文】相關文章:

    關于構建基于崗位對接的教學過程框架的研究論文09-05

    基于約束網絡的航天器通用任務規劃框架的研究論文10-30

    基于約束網絡的航天器通用任務規劃框架研究論文10-30

    彈性城市及規劃框架研究論文10-28

    專業論文:基于Struts+Spring的Web應用設計與實現04-02

    基于柔性內部控制研究論文10-27

    基于EVA的價值創造研究論文10-26

    基于課堂的教師行動研究的論文10-21

    軟件安全性保障框架研究論文11-02

    主站蜘蛛池模板: 野外做受三级视频| 老司机久久99久久精品播放免费 | 在线中文字幕国产一区| 猫咪AV成人永久网站在线观看| 粗大挺进朋友人妻淑娟| 欧洲卡一卡二卡三爱区| 国产99视频精品免视看9| 亚洲男人的天堂一区二区| 狠狠色噜噜狠狠狠狠7777米奇 | 免费人成网站免费看视频| 亚洲av无码精品蜜桃| 国产AV国片精品有毛| 毛片免费观看天天干天天爽| 中文精品久久久久人妻不卡| 国产明星精品无码AV换脸| 再深点灬舒服灬太大了少妇| 人妻丰满熟AV无码区HD| 欧美XXXX黑人又粗又长| 国产免费午夜福利757| 成人3D动漫一区二区三区| 国偷自产一区二区三区在线视频| 国产精品福利中文字幕| 亚洲AV中文无码乱人伦在线咪咕| 色翁荡熄又大又硬又粗又视频| 色窝窝无码一区二区三区成人网站| 精品久久久久久无码专区| 国产精品久久久久久AV| 强奷漂亮少妇高潮麻豆| 日本55丰满熟妇厨房伦| 国产无套粉嫩白浆在线观看| 夜夜高潮夜夜爽高清完整版1| 免费高清特级毛片A片| 噜噜久久噜噜久久鬼88| 成人片黄网站色大片免费观看| 亚洲欧美综合精品二区| 久久精品蜜芽亚洲国产AV| 亚洲人成电影在线天堂色| 国内精品视频一区二区三区八戒| 一級特黃色毛片免費看| 中文无码久久精品| 国产精品国产三级国产AV中文 |