Spring 面向切面程式設計AOP的簡單理解及實現

2021-10-03 23:23:55 字數 1297 閱讀 3834

aop,面向切面程式設計,利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率。

aop的主要功能:許可權控制、事務管理 、日誌列印、效能統計、異常處理等

aop的三大點:

(1)關注點——重複**

(2)切面——抽取重複**

(3)切入點——攔截哪些方法

aop的通知有:前置通知、後置通知、執行通知、異常通知、環繞通知

表示式execution(* cn.cxh.service..(…))這個表示式的意思是cn.cxh.service包下的檔案都會被通知,如果想具體某個service的某個方法,可以這樣寫:execution(* cn.cxh.service.deptservice.add(…)),所以他的規則就是,那個不想具體,用*代替就可以了

@aspect

@component

public class aop

@after("execution(* cn.cxh.service.*.*(..))")

public void commit()

@afterreturning("execution(* cn.cxh.service.*.*(..))")

public void afterrun()

@afterthrowing("execution(* cn.cxh.service.*.*(..))")

public void afterthrowing()

@around("execution(* cn.cxh.service.*.*(..))")

public void around(proceedingjoinpoint proceedingjoinpoint) throws throwable

}

這裡配置每個通知的method要與實際方法名相對應

public class aopxml 

public void after()

public void afterreturning()

public void afterthrowing()

public void around(proceedingjoinpoint proceedingjoinpoint) throws throwable

}

Spring面向切面程式設計AOP

感謝zejian 大佬的分享 關於 spring aop aspectj 你該知曉的一切 大佬的分享讓我受益匪淺!首先學習aop前,弄清楚為什麼要使用aop?舉個栗子有助於理解 乙個支付轉賬的小栗子 我們每次使用手機支付時,不管轉賬還是支付都需要驗證支付資訊密碼。這時aop的好處就體現出來了,我們可...

Spring 的面向切面程式設計(AOP)

aop是一種新的方 是物件導向程式設計的補充。aop的主要關注點是切面,是切面模組化的橫切關注點。使用aop的好處 1.每個事物邏輯位於乙個位置,不分散。便於維護和公升級。2.業務模組更簡潔,只包含核心業務 spring aop的方式有2種,一種是通過註解的方式。一種是通過xml配置檔案的方式。1....

Spring 面向切面程式設計(AOP)理解

1.解釋什麼是aop 面向切面的程式設計,或aop,是一種程式設計技術,允許程式模組化橫向切割關注點,或橫切典型的責任劃分,如日誌和事務管理。2.aspect切面 aop核心就是切面,他將多個類的通用行為封裝成可重用的模組,該模組含有一組api提供橫切功能。比如,乙個日誌模組可以被稱作日誌的aop切...