【Spring 】【AOP】註解開發及excution函式的使用
阿新 • • 發佈:2018-12-25
一、excution函式的使用
語法:[訪問修飾符] 返回值 包名.類名.方法名 (引數)
舉例1:public * com.test.Dao.userDal.save(..)//*任意返回值, .. 任意引數
二、註解開發
步驟1:引入相關JAR包
步驟2:開啟XML中的註釋,
步驟3:配置切面類的bean,要增強類的bean,註解切面類
//切面類 @Aspect public class A{ //before是前置通知 @Before(value="execution(* 包.類名.方法名(..))")//要增強的方法 public void fun(){}//增強方法 //後置通知 @AfterReturning(value="execution(* com.testSpring.AOP.Dao.UserDao.delete(..))" ,returning="result") public static void getMD5Del(Object result) { System.out.println("被增強方法的返回值是" + result); } //環繞通知 @Around(value="execution(* com.testSpring.AOP.Dao.UserDao.update(..))",argNames="joinpoint") public static void getMD5Up(ProceedingJoinPoint joinpoint) throws Throwable { System.out.println("around before"); Object obj = joinpoint.proceed(); System.out.println("return value is" + (String)obj); System.out.println("around after"); } //異常通知 @AfterThrowing(value="execution(* com.testSpring.AOP.Dao.UserDao.query(..))",throwing="ex") public static void throwEx(Throwable ex) { System.out.println("ex :" + ex.getMessage() ); } 最終通知 @After(value="execution(* com.testSpring.AOP.Dao.UserDao.query(..))") public static void finallyRun() { System.out.println("最終通知"); }