我试图用我实施的方面拦截春天的课程。
我的方面如下所示:
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()没有被截获,即使程序控制器也会通过这种方法。我的方面正在被正确初始化。有什么想法吗?