国产日韩精品欧美一区喷,大又大粗又爽又黄少妇毛片男同 ,另类色综合,在线免费不卡视频,国产精品V日韩精品,伊人久综合,在线无码va中文字幕无码,欧美有码在线观看

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

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

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

  引言

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

  依賴注入(Dependency Injection)或者說控制反轉(zhuǎn)(Inversionof Control)是 Spring 框架結(jié)構(gòu)的核心之一。基于 Spring 框架結(jié)構(gòu)的系統(tǒng)中,DI 可以為任意對象動態(tài)的提供所需,代替了過去在控制對象生命周期和關(guān)系時需要直接依靠代碼的方式。

  1.依賴注入的原理與實現(xiàn)

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

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

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

  Bean 的接收和管理由控制反轉(zhuǎn)實現(xiàn),即定位、配置、實例化并且構(gòu)造依賴應(yīng)用程序的 Bean。BeanFactory 是 Spring 框架中的控制反轉(zhuǎn)容器,項目中通常使用 XML 方式來描述對象間的依賴關(guān)系,配置元數(shù)據(jù),如 XmlBeanFactory 可完成完全可配置系統(tǒng)。

  在 Spring 框架中,控制反轉(zhuǎn)管理是通過依賴注入進行的。依賴注入包括設(shè)置方式注入(Setter Injection)和構(gòu)造子注入(Constructor Injection)兩種。SI 是通過 JavaBean 屬性進行依賴注入,CI 是通過構(gòu)造子參數(shù)進行依賴注入。JavaBean 經(jīng)由 Spring框架的管理配置可以得到低耦合的系統(tǒng),實現(xiàn)系統(tǒng)的分層架構(gòu)。

  2.注入方式的對比

  既然 Spring 框架支持兩種依賴注入方式,即設(shè)置方式注入和構(gòu)造子注入,那么它們各有何優(yōu)勢呢?

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

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

  3.項目應(yīng)用

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

  在Action類的內(nèi)部通過依賴注入使得進行業(yè)務(wù)邏輯操作的時候,實現(xiàn)低耦合以及組件調(diào)用方便。另外,在業(yè)務(wù)邏輯組件中通過依賴注入底層 DAO 組件完成數(shù)據(jù)庫操作。

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

關(guān)于構(gòu)建基于崗位對接的教學過程框架的研究論文09-05

基于約束網(wǎng)絡(luò)的航天器通用任務(wù)規(guī)劃框架的研究論文10-30

基于約束網(wǎng)絡(luò)的航天器通用任務(wù)規(guī)劃框架研究論文10-30

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

專業(yè)論文:基于Struts+Spring的Web應(yīng)用設(shè)計與實現(xiàn)04-02

基于柔性內(nèi)部控制研究論文10-27

基于EVA的價值創(chuàng)造研究論文10-26

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

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

主站蜘蛛池模板: 国产超碰在线观看| 久久6免费视频| 日韩最新中文字幕| 欧美午夜小视频| 99在线国产| 无遮挡一级毛片呦女视频| 亚洲AV无码精品无码久久蜜桃| 五月天天天色| 国产在线观看91精品| 日本黄色不卡视频| 国产欧美亚洲精品第3页在线| 久久中文电影| 免费看一级毛片波多结衣| 日韩欧美国产中文| 91亚洲精选| 国产综合精品日本亚洲777| 国产毛片高清一级国语| 亚洲永久视频| 三级视频中文字幕| 国产综合网站| 日韩a在线观看免费观看| 成人毛片在线播放| 国产在线一区视频| 人妻出轨无码中文一区二区| 久久久久久久蜜桃| 三级毛片在线播放| 国产一区二区免费播放| 天堂网亚洲系列亚洲系列| 国产男女免费视频| 色爽网免费视频| 国产真实乱子伦精品视手机观看| 欧美激情第一区| 亚洲欧美成人在线视频| 亚洲中文字幕日产无码2021| 日韩A∨精品日韩精品无码| 亚洲综合经典在线一区二区| 久久国产亚洲偷自| 伊人激情综合网| 亚洲一区色| 国产精品久久久久久久伊一| 97狠狠操| 3344在线观看无码| 99热免费在线| 亚洲综合中文字幕国产精品欧美| 久久无码av三级| 国产精品香蕉在线| 日本久久久久久免费网络| 亚洲中文无码h在线观看| 亚洲成人一区二区| 亚洲性网站| 精品国产电影久久九九| 日韩成人在线网站| 激情午夜婷婷| 99国产在线视频| 国产成人凹凸视频在线| 免费99精品国产自在现线| 中文字幕日韩丝袜一区| 日本亚洲最大的色成网站www| 超薄丝袜足j国产在线视频| 一级爱做片免费观看久久| 亚洲精品免费网站| 色偷偷男人的天堂亚洲av| 欧美激情第一区| 欧美精品在线免费| 54pao国产成人免费视频| 极品国产在线| 精品欧美一区二区三区久久久| 午夜欧美在线| 久久国产精品77777| 最新痴汉在线无码AV| 国产成人精品一区二区三区| 日韩高清一区 | 玖玖精品在线| 国产中文一区a级毛片视频| 亚洲AV无码乱码在线观看代蜜桃 | 红杏AV在线无码| 一本无码在线观看| 亚洲三级色| 国产又色又爽又黄| 成人欧美在线观看| 国产精品久线在线观看| 亚洲午夜综合网|