Spring框架AOP的使用及個人對底層原理的理解

2021-09-27 05:01:45 字數 1049 閱讀 1774

前言:

aop是目前spring框架中的核心之一,在應用中具有非常重要的作用,也是spring其他元件的基礎。它是一種面向切面程式設計的思想。關於aop的基礎知識,相信多數童鞋都已經瞭如指掌,今天要給大家分享的是spring框架aop的使用,以及我個人對底層原理的一些理解。

aop使用步驟

配置aop資訊

相當於aop的根節點

配置切入點

切入點 可以理解為需要增強的方法的位置

如:execution(com.mmr.entity.people.(..) )

表示這個切入點的位置在com.mmr.entity.people 這個類裡;

第乙個星號:表示訪問許可權是任意,也可以設定為private,protected。。。。。

第二個星號:表示people類下面的所有方法

(..)表示任意引數

包後面兩個點表示包含子包下面的類,單點不包含子包

配置切入面

ref 指定的是用什麼類來增強,指向的是乙個bean

配置切入時間

......此類標籤指定切入時間

after---最終 相當於try catch 中的finally

after-returning 後置,方法無異常執行完後

method 指定用哪個方法來增強(ref中指向的類中的方法)

pointcut-ref 指定增強的切入點

配置示例:

com.mmr.entity.people.(..) )" id="peoplecut"/>

注意

spring aop 底層採用了動態**(jdk自帶的動態** + cglib 動態**)的方式來實現增強

所以如果被增強的類(委託類)實現了介面,則會採用jdk自帶的動態**方式,所以需要使用介面來接收,不能直接使用實現類接收!

而如果委託類未實現介面,則採用cglib動態**的方式,所以可以用委託類直接接收

記得一定要關注我哦,會不定時的福利贈送,包括整理的面試題,學習資料,原始碼等~~

Spring 框架 AOP的原理及應用

aop 原理 第一.將複雜的需求分解出不同的方面,將公共功能集中解決。第二 採用 機制組裝起來執行,在不改變原程式的基礎上對 段進行增強處理,增加新的功能 所謂面向切面程式設計,是一種通過預編譯方式和執行期動態 實現在不修改源 的情況下給程式動態新增功能的技術 aop 面向切面程式設計,相對於oop...

Spring框架 AOP細節

知己海記憶體 2016 11 24 10 17 1切入點表示式 1.1作用 通過表示式的方式定位乙個或多個具體的連線點。1.2語法細節 切入點表示式的語法格式 execution 許可權修飾符 返回值型別 簡單類名 全類名 方法名 引數列表 舉例說明 表示式execution com.atguigu...

Spring框架AOP原理

aop aspect oriented programming 意思就是面相切面程式設計。通俗來說就是一種在通過預編譯方式和執行期間動態 實現程式功能的統一維護的一種技術,這種在執行時,動態的將 切入到類的指定方法 指定位置上的程式設計思想就是面向切面程式設計,aop通過一系列的 來實現的。說到底,...