Spring核心IoC和AOP的理解
spring 框架的優(yōu)點是一個輕量級筆記簡單易學的框架,實際使用中的有點優(yōu)點有哪些呢!
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ù)對象替換的復雜性
10.Spring的高度開放性,并不強制應(yīng)用完全依賴于Spring,開發(fā)者可以自由選擇spring的部分或全部
什么是DI機制?
依賴注入(Dependecy Injection)和控制反轉(zhuǎn)(Inversion of Control)是同一個概念,具體的講:當某個角色
需要另外一個角色協(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í)行過程中的步驟進行抽象,,從而獲得步驟之間的邏輯劃分。
aop框架具有的兩個特征:
1.各個步驟之間的良好隔離性
2.源代碼無關(guān)性
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
springboot使用TaskScheduler實現(xiàn)動態(tài)增刪啟停定時任務(wù)方式
這篇文章主要介紹了springboot使用TaskScheduler實現(xiàn)動態(tài)增刪啟停定時任務(wù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08SpringBoot通過RedisTemplate執(zhí)行Lua腳本的方法步驟
這篇文章主要介紹了SpringBoot通過RedisTemplate執(zhí)行Lua腳本的方法步驟,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02