spring aop 之aspectj註解配置
使用jdk**
業務類
package com.tgb.aop;
public inte***ce usermanager
package com.tgb.aop;
public class usermanagerimpl implements usermanager
return "張三";
} }
advice類
package com.tgb.aop;
import org.aspectj.lang.joinpoint;
import org.aspectj.lang.proceedingjoinpoint;
import org.aspectj.lang.annotation.after;
import org.aspectj.lang.annotation.afterreturning;
import org.aspectj.lang.annotation.afterthrowing;
import org.aspectj.lang.annotation.around;
import org.aspectj.lang.annotation.aspect;
import org.aspectj.lang.annotation.before;
import org.aspectj.lang.annotation.declareparents;
import org.aspectj.lang.annotation.pointcut;
/**
* 測試after,before,around,throwing,returning advice.
* @author admin
* */
@aspect
public class aspcejadvice ;
/**
* before
* 在核心業務執行前執行,不能阻止核心業務的呼叫。
* @param joinpoint
*/
@before("aspectjmethod()")
public void beforeadvice(joinpoint joinpoint)
/**
* after
* 核心業務邏輯退出後(包括正常執行結束和異常退出),執行此advice
* @param joinpoint
*/
@after(value = "aspectjmethod()")
public void afteradvice(joinpoint joinpoint)
/**
* around
* 手動控制呼叫核心業務邏輯,以及呼叫前和呼叫後的處理,
* * 注意:當核心業務拋異常後,立即退出,轉向afteradvice
* 執行完afteradvice,再轉到throwingadvice
* @param pjp
* @return
* @throws throwable
*/
@around(value = "aspectjmethod()")
public object aroundadvice(proceedingjoinpoint pjp) throws throwable
/**
* afterreturning
* 核心業務邏輯呼叫正常退出後,不管是否有返回值,正常退出後,均執行此advice
* @param joinpoint
*/
@afterreturning(value = "aspectjmethod()", returning = "retval")
public void afterreturningadvice(joinpoint joinpoint, string retval)
/**
* 核心業務邏輯呼叫異常退出後,執行此advice,處理錯誤資訊
* * 注意:執行順序在around advice之後
* @param joinpoint
* @param ex
*/
@afterthrowing(value = "aspectjmethod()", throwing = "ex")
public void afterthrowingadvice(joinpoint joinpoint, exception ex)
}
<?xml version="1.0" encoding="utf-8"?>只要將advice類注入到bean,spring會根據切入點,找到相應的連線點切入
測試類
package com.tgb.aop;
import org.springframework.beans.factory.beanfactory;
public class client catch (illegalargumentexception e)
} }
測試結果
關於Unity中Camera的Aspect
一直以來對camera的aspect和game視窗的aspect都是一知半解,某天從一本書中看到了對camera的api講解,但是總覺得對aspect講解的有問題。於是就認真的思考起了這個問題,還發現設定完cmera.aspect之後,scene視窗的視椎體竟然不同步,也不知其原因。苦惱了很久。經過...
spring aop 之鏈式呼叫
關關雎鳩,在河之洲。窈窕淑女,君子好逑。aop aspect orient programming 我們一般稱為面向方面 切面 程式設計,作為物件導向的一種補充,用於處理系統中分布於各個模組的橫切關注點,比如事務管理 日誌 快取等等。springaop採用的是動態 在執行期間對業務方法進行增強,所以...
spring aop 之鏈式呼叫
關關雎鳩,在河之洲。窈窕淑女,君子好逑。aop aspect orient programming 我們一般稱為面向方面 切面 程式設計,作為物件導向的一種補充,用於處理系統中分布於各個模組的橫切關注點,比如事務管理 日誌 快取等等。springaop採用的是動態 在執行期間對業務方法進行增強,所以...