使用AspectJ拦截第三方类

时间:2016-10-10 11:10:21

标签: spring aop spring-aop

我试图用我实施的方面拦截春天的课程。

我的方面如下所示:

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class BatchExceptionInterceptor {

    @Around("execution(* org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(..))")
    public Object serviceMethodIntercept(ProceedingJoinPoint pjp)
            throws Throwable {
        System.out.println("I am here..");
        return pjp.proceed();
    }
}

另外,我在Springs上下文文件中使用了以下标记:

<tx:annotation-driven proxy-target-class="true"/>

我能够以这种方式拦截我自己的课程。但不确定为什么SQLErrorCodeSQLExceptionTranslator.doTranslate()没有被截获,即使程序控制器也会通过这种方法。我的方面正在被正确初始化。有什么想法吗?

0 个答案:

没有答案