- 名称:@Aspect
- 类型:注解
- 位置:类定义上方
- 作用:设置当前类作为切面类
格式:
@Aspectpublic class AopAdvice{}
说明:一个beans标签中科院配置多个aop:config标签
ps:定义当前类为切面类(切面(Aspect):就是共性功能与挖的位置的对应关系,创建切面,建立关系)
- 名称:@Pointcut
- 类型:注解
- 位置:方法定义上方
- 作用:使用当前方法名作为切入点引用名称
- 格式:
execution去匹配哪些包下哪些方法需要执行,设置ID名为pt@Pointcut("execution(* *..*(..))")public void pt(){}
@Before("pt()") // 前置public void before() {System.out.println("前置before...");}@After("pt()") // 后置public void after() {System.out.println("后置after...");}@AfterReturning("pt()") // 返回后执行public void afterReturing() {System.out.println("返回后afterReturing....");}@AfterThrowing("pt()") //异常后执行public void afterThrowing() {System.out.println("抛出异常后afterThrowing");}@Around("pt()") // 环绕public Object around(ProceedingJoinPoint pjp) throws Throwable{System.out.println("环绕前around before...");Object ret = pjp.proceed();System.out.println("环绕后around after...");return ret;}
