aop 动态代理切入点表达式写法: pointcut="execution(public void com.itheima.service.impl.StudentServiceImpl.saveStudent())" 1 .访问修饰符可以省略 pointcut="execution(void com.itheima.service.impl.StudentServiceImpl.saveStudent())" 2 .返回值类型可以用通配符 * pointcut="execution(* com.itheima.service.impl.StudentServiceImpl.saveStudent())" 3 .包名可以使用通配符 *. 有几级包就写几个 *. *..可以表示任意多级包 pointcut="execution(* *..StudentServiceImpl.saveStudent())" 4 .类名和方法名都可以用通配符 * pointcut="execution(* *..*.*())" 5 .参数可以写 int |java.lang.Integer 通配符 * 表示任意类型 ..表示空不空都行,包括任意类型 一般写法:主要在业务层 * com.itheima.service.impl.*.*(..)
通知类型:
before 在切入点方法执行之前执行 after-returning 在切入点方法正常执行之后执行 after-throwing 在切入点方法产生异常时执行 after 无论切入点方法是否产生异常,都执行
这里的机制特别像try-catch
aop 动态代理 - 切入点写法
最新推荐文章于 2022-03-12 16:34:12 发布