Spring整合AspectJ 實現AOP

2021-10-21 18:57:27 字數 855 閱讀 1041

org.springframework.boot

spring-boot-starter-aop

@component  //交給spring容器管理

@aspect //告訴spring,此類為乙個切面類

public class cacheaspect

@around("docache()")

public object around(proceedingjoinpoint joinpoint) throws throwable

object proceed = joinpoint.proceed();

map.put("cache", proceed);

return proceed;

}

@annotation(anno.requiredcache) 匹配有此註解描述的方法需要定義註解

bean(「userserviceimpl」)指定乙個userserviceimpl類中所有方法

within(「aop.service.*」) 指定當前目錄下的所有類的所有方法

execution(void aop.service.userserviceimpl.adduser())匹配adduser方法。

@before 目標方法執行前

@afterreturning 目標方法執行完成後,如果連線點拋異常,則不執行

@afterthrowing 在連線點丟擲異常後執行

@after 在連線點執行完成後執行,不管是正常執行完成,還是丟擲異常,都會執行返回通知中的內容

@around 環繞通知圍繞在連線點前後,還可決定是否執行連線點

Spring整合aspectj框架實現的aop

在現在的開發中使用這種方案比較多.在spring2.0以後它支援 jdk1.5 註解,而整合 aspectj 後可以使用 aspectj 語法,可以簡化開發。aspect 切面 切點 通知 多個切點與多個通知的組合 aspectj 它是乙個第三方框架,spring 從2.0 後可以使用 aspect...

spring之基於aspectj註解aop使用

在配置檔案中開啟aop自動 1 在增強類上面使用 aspect註解 2 在增強方法上面配置不同型別通知 增強類 aspect public class myuser 後置通知 afterreturning value execution cn.aop.user.update public void ...

Spring中基於 AspectJ的AOP配置

本文用於知識點的簡單總結。對於spring中aop的配置,第二種方式是基於 aspectj風格的註解方式,相關配置項在 中定義。以下主要通過 說明基本配置流程。1 定義需要實現的業務介面 package com.aop.service public inte ce myservice 2 編寫實現介...