书单推荐:成为Java顶级程序员架构师 ,这20来本(高薪)必看点击获取
spring的@Pointcut注解匹配多个表达式
解决方法:
假如我想匹配spring的JdbcTemplate所有增删改查操作,也就是说JdbcTemplate的所有操作都会执行doBeforeForJdbc这个方法。
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.aop.ProxyMethodInvocation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class AspectComponent {
@Pointcut("execution(* org.springframework.jdbc.core..JdbcTemplate.query*(..)) || execution(* org.springframework.jdbc.core..JdbcTemplate.update*
(..)) || execution(* org.springframework.jdbc.core..JdbcTemplate.batchUpdate*(..)) || execution(*
org.springframework.jdbc.core..JdbcTemplate.execute*(..))")
public void jdbcTplProc() {
}
@BeforejdbcTplProc()")
public void doBeforeForJdbc(JoinPoint joinPoint) {
log.debug("拦截JdbcTemplate的方法");
}
}
转载请注明:谷谷点程序 » spring的@Pointcut注解匹配多个表达式