最新消息: 新版网站上线了!!!

spring的@Pointcut注解匹配多个表达式

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注解匹配多个表达式