Spring 切入点配置

时间:2021-06-05 09:47:34
有关各种拦截的切入点配置举例
(1)只对返回值为String的方法进行拦截
    @Pointcut("execution (java.lang.String com.zzdr.spring.service.impl.PersonService.*(..))")
(2)只对返回值为void的方法进行拦截
    @Pointcut("execution (void com.zzdr.spring.service.impl.PersonService.*(..))")
(3)对返回值为非void的方法进行拦截
    @Pointcut("execution (!void com.zzdr.spring.service.impl.PersonService.*(..))")
(4)对service以及以下的包里的所有的类进行拦截
    @Pointcut("execution (* com.zzdr.spring.service..*.*(..))")
(5)对只有一个形参为String类型的方法进行拦截
    @Pointcut("execution (* com.zzdr.spring.service.impl.PersonService.*(java.lang.String))")
(6)对第一个形参为String类型,其他参数为任意个数任意类型的方法进行拦截
    @Pointcut("execution (* com.zzdr.spring.service.impl.PersonService.*(java.lang.String,..))")
(7)可以对接口而不对实现类配置拦截表达式
    @Pointcut("execution (* com.zzdr.spring.service.IPersonService.*(..))")