1. 程式人生 > >Aspect程式設計中@Around註解的使用

Aspect程式設計中@Around註解的使用

面向切面程式設計可以方便我們對系統進行監控。最近正在學習AOP,而@Around使用的應該是最多的。我們可以在切面邏輯中得到連線點的名字和所在類名。方便我們快速定位到系統中出現問題的地方。

例子:

@Component  //和sping整合的時候必須要這個註解,否則sping容器解析不到該切面導致切面不能工作
@Aspect
public class AOPConfig {

    @Pointcut(value="execution(* spring.aop.Demo.*(..))")
    public void pointCut(){
    }
    
    @Around("pointCut()")
    public Object aroundMethod(ProceedingJoinPoint pjp) throws Throwable {
        Object ob = null;
        System.out.println(pjp.getSignature().getDeclaringType());  

        //通過pjp物件獲取Signature物件,該物件封裝了連線點的資訊。比如通過getDeclaringType獲取連線點所在類的  class物件

       //getName獲取連線點的名稱即方法名。


        System.out.println("---------------------------");
        pjp.proceed();
        System.out.println("---------------------------");
      
        
        return ob;
        
    }