Spring之AOP註解方式

2021-08-28 13:42:12 字數 1466 閱讀 5380

註解實現aop:

1.啟用aspectj支援

2.在切面類加入@component 、@aspect

3.配置切入點表示式

4.加入增強的方法,注意:環繞增強的方法中一定要加入proceedingjoinpoint引數

5.切面優先順序用切面類實現介面 implements ordered{} 或 @ordered註解

**實現:

dao層 ,註解用 @repository

@repository // dao層

public class userdaoimpl implements userdao

public int update()

}service層 ,註解用 @service

@service

public class userserviceimpl implements userservice

public int update()

}增強類

@component

@aspect

@order(6)

public class adviceclass /implements ordered/

@before("p()")

public void before(joinpoint jp)

} // 獲取目標方法物件

userservice target = (userservice) jp.gettarget();

}/**

* 後置增強,可以拿目標方法返回值,如果目標方法報異常,後置增強不會執行

*/@afterreturning(value="p()", returning="result")

public void afterreturning(joinpoint jp,object result)

/** * 最終增強,如果目標方法報異常,最終增強會執行

*/@after("p()")

public void after(joinpoint jp)

/** * 環繞增強 : 相當於,前置和後置增強的綜合體,同時它還可以擷取目標方法的返回值,對目標方法返回值進行修改

* @return

* @throws throwable

*/@around("p()")

public object around(proceedingjoinpoint pjp) throws throwable

/** * 異常增強 : 目標方法報異常時才會執行

* @param jp

* @param e

*/@afterthrowing(value="p()", throwing="e")

public void exception(joinpoint jp, exception e)

/*public int getorder() */注:要實現排序,可以多寫幾個增強類,這裡不再重複寫增強類了

Spring之通過註解方式實現AOP

乙個簡單的通過註解方式實現aop 通過aop統計方法呼叫耗時 目錄結構 具體類如下 配置類 package com.infuq.springaop import org.springframework.context.annotation.componentscan import org.sprin...

Spring以註解方式使用aop

7.spring以註解方式使用 xmlversion 1.0 encoding utf 8 beans xmlns xsi xmlns xmlns context xmlns aop xsi schemalocation spring beans 4.2.xsd spring context 4.2...

使用spring註解方式實現AOP 二

如果需要對業務方法中的引數和返回值做處理的情況下 package com.chris.aop import org.springframework.stereotype.service service testservice public class testservicebean public s...