溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spring核心IoC和AOP的理解

發(fā)布時(shí)間:2020-09-27 05:49:03 來源:腳本之家 閱讀:93 作者:奔跑滴蝸牛 欄目:編程語言

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

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

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

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

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

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

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

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

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

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

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

什么是DI機(jī)制?

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

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

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

因此也稱為依賴注入。

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

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

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

什么是AOP?

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

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

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

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

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

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

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

aop框架具有的兩個(gè)特征:

1.各個(gè)步驟之間的良好隔離性

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

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持億速云!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI