spring aop原始碼分析

2021-10-01 17:27:17 字數 676 閱讀 1791

面試中經常被問到什麼是aop,其實aop是一種技術實現,或者說是一種實現標準,實現aop的技術有多種,但是通常所說的aop,大家會不自覺的想到spring aop,因為spring aop被問了很多次。本文想從原始碼的執行流程上來簡單說說aop的實現原理。

aop的底層技術其實就是大家熟知的**,spring aop中的**主要有兩種,cglib**和jdk動態**,這兩種**的使用場景有所不同,如果被**的類實現了介面,就使用jdk動態**,否則就是cglib**,當然這是預設情況下,否則可以通過修改相關的引數強制使用cglib**

下面先通過乙個簡單的案例來體驗一下aop的實現,**比較簡單,下面直接貼出來:

1、mainconfig ,全域性掃瞄類

@componentscan("com.congge.stu2")

@enableaspectjautoproxy

public class mainconfig

2、studentservice,被spring掃瞄的類

@component

public class studentservice

}

3、aop配置類

springAOP的原始碼分析

aop就是面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術 相信大家在實際專案中都使用過了,比如日誌記錄啊,介面相應時間等等 以前知道aop是通過動態 來實現的,但是怎麼個 法呢,確不是很清楚,不明白aop就像吃著公尺飯但是不知道大公尺是怎麼來的,這種感覺,你懂得,當然...

Spring AOP實現原始碼分析(三)

spring aop的實現可以分為三大部分 1.註冊aop功能具體實現類 2.普通bean例項化時aop的切入 3.aop切入具體流程 下面分析beanpostprocessor執行過程中,aop如何切入,上一節講到,普通bean初始化會呼叫如下方法 呼叫aop的真正實現方法入口 result be...

Spring AOP 原始碼詳解

spring aop 是 spring 核心功能之一,日常的工作少不了和 aop 打交道 是時候有必要去了解 spring 對 aop 的封裝和其背後的原理,這樣子我們才能寫出更加高質量的 及產生 bug 的原因 什麼是 aop aop 的相關一些概念 spring aop 的使用方式 spring...