IOC和AOP


我對IOC和AOP的理解

spring中最重要的兩大核心概念就是IOC和AOP了,這也是面試中框架部分的必問點了

IOC

首先是IOC,到底什么是IOC呢?IOC(Inversion Of Control)叫做控制反轉。它主要還是一種設計思想,它可以將原本手動創建實例的過程交給 spring 來處理。目的就是簡化開發。因此,IOC還提供了IOC容器來存放這些實例。

IOC的主要實現就是DI依賴注入,Spring幫助了我們生產對象、管理對象、管理對象與對象之間的依賴關系。降低了代碼的耦合度、方便開發。

其中依賴注入也有幾種方式

1、通過構造函數創建

2、通過set方法創建

3、用p命名空間

4、使用注解的方式:@Autowired/@Resource

AOP

AOP(Aspect Oriented Programming)稱為面向切面編程

AOP是一種編程思想,它可以將那些與業務無關,卻為業務模塊所共同調用的邏輯(例如事務處理、日志管理、權限控制等)封裝起來,減少系統的重復代碼,降低了模塊之間的耦合度,具有可擴展性可維護性

AOP的實現原理是動態代理,分別有兩種:JDK動態代理CGLIB動態代理

現在實現AOP的方式主要有兩種,一個是Spring AOP,另一個是 AspectJ AOP,其中Spring AOP已經集成了AspectJ,兩者的區別:AspectJ功能更加強大性能更好,但SpringAOP更簡單,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM