Spring核心IoC和AOP的理解

spring 框架的優(yōu)點是一個輕量級筆記簡單易學(xué)的框架,實際使用中的有點優(yōu)點有哪些呢!

創(chuàng)新互聯(lián)是一家做網(wǎng)站、網(wǎng)站建設(shè),提供網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,建網(wǎng)站,按需定制制作,網(wǎng)站開發(fā)公司,于2013年開始是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價值為核心業(yè)務(wù),全程參與項目的網(wǎng)站策劃設(shè)計制作,前端開發(fā),后臺程序制作以及后期項目運營并提出專業(yè)建議和思路。

1.降低了組件之間的耦合性 ,實現(xiàn)了軟件各層之間的解耦

2.可以使用容易提供的眾多服務(wù),如事務(wù)管理,消息服務(wù)等

3.容器提供單例模式支持

4.容器提供了AOP技術(shù),利用它很容易實現(xiàn)如權(quán)限攔截,運行期監(jiān)控等功能

5.容器提供了眾多的輔助類,能加快應(yīng)用的開發(fā)

6.spring對于主流的應(yīng)用框架提供了集成支持,如hibernate,JPA,Struts等

7.spring屬于低侵入式設(shè)計,代碼的污染極低

8.獨立于各種應(yīng)用服務(wù)器

9.spring的DI機制降低了業(yè)務(wù)對象替換的復(fù)雜性

10.Spring的高度開放性,并不強制應(yīng)用完全依賴于Spring,開發(fā)者可以自由選擇spring的部分或全部

什么是DI機制?

依賴注入(Dependecy Injection)和控制反轉(zhuǎn)(Inversion of Control)是同一個概念,具體的講:當(dāng)某個角色

需要另外一個角色協(xié)助的時候,在傳統(tǒng)的程序設(shè)計過程中,通常由調(diào)用者來創(chuàng)建被調(diào)用者的實例。但在spring中

創(chuàng)建被調(diào)用者的工作不再由調(diào)用者來完成,因此稱為控制反轉(zhuǎn)。創(chuàng)建被調(diào)用者的工作由spring來完成,然后注入調(diào)用者

因此也稱為依賴注入。

spring以動態(tài)靈活的方式來管理對象 , 注入的兩種方式,設(shè)置注入和構(gòu)造注入。

設(shè)置注入的優(yōu)點:直觀,自然

構(gòu)造注入的優(yōu)點:可以在構(gòu)造器中決定依賴關(guān)系的順序。

什么是AOP?

面向切面編程(AOP)完善spring的依賴注入(DI),面向切面編程在spring中主要表現(xiàn)為兩個方面

1.面向切面編程提供聲明式事務(wù)管理

2.spring支持用戶自定義的切面

面向切面編程(aop)是對面向?qū)ο缶幊蹋╫op)的補充,

面向?qū)ο缶幊虒⒊绦蚍纸獬筛鱾€層次的對象,面向切面編程將程序運行過程分解成各個切面。

AOP從程序運行角度考慮程序的結(jié)構(gòu),提取業(yè)務(wù)處理過程的切面,oop是靜態(tài)的抽象,aop是動態(tài)的抽象,

是對應(yīng)用執(zhí)行過程中的步驟進(jìn)行抽象,,從而獲得步驟之間的邏輯劃分。

aop框架具有的兩個特征:

1.各個步驟之間的良好隔離性

2.源代碼無關(guān)性

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持創(chuàng)新互聯(lián)!

分享名稱:Spring核心IoC和AOP的理解
本文鏈接:http://muchs.cn/article34/jioese.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、響應(yīng)式網(wǎng)站、建站公司、外貿(mào)建站、營銷型網(wǎng)站建設(shè)、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)