Spring注解驱动知识点简单记录四

一:面向切面编程之AOP入门简介(基于注解版)

  1. AOP简介
      指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。
  2. AOP相关通知方法
     ①前置通知(@Before):在目标方法运行前运行
     ②后置通知(@After):在目标方法运行结束后运行(无论方法正常结束还是异常结束)
     ③返回通知(@AfterReturning):在目标方法正常返回之后运行
     ④异常通知(@AfterThrowing):在目标方法出现异常以后运行
     ⑤环绕通知(@Around):动态代理,手动推荐目标方法运行(JoinPoint.procced)         
  3. 实例
      ⑴创建业务逻辑类
           Spring注解驱动知识点简单记录四_第1张图片
       ⑵创建切面类
            Spring注解驱动知识点简单记录四_第2张图片
            Spring注解驱动知识点简单记录四_第3张图片
            Spring注解驱动知识点简单记录四_第4张图片
            注意点如下:
                    a:@Aspect这个在类上面的注解,是用来告诉spring当前类是一个切面类
                    b:公共的切入点表达式的运用,根据上面的注释可知
                          ①如果是本类调用直接引入:公共表达式方法名,如下:@Before("pointCut()")
                          ②如果是其他类调用,则必须引入全路径:如:@Before("com.test.aop.LogAspects.pointCut()")
                    c:JoinPoint joinPoint:用来获取业务类的信息  
                           ①joinPoint.getSignature().getName():获取业务逻辑类方法名 
                           ②joinPoint.getArgs():获取业务逻辑类方法中的参数信息
                           ③注意:JoinPoint joinPoint这个参数必须在第一位,否则将会不起作用并且出现错误
        ⑶配置类信息
              Spring注解驱动知识点简单记录四_第5张图片
              注意:
                  @EnableAspectJAutoProxy:这个表示是开启基于注解版的AOP模式,这个是必须的。
          ⑷测试
                a:首先我们测试正常不抛出异常的例子(说明:我们在调用div方法前后产生的效果)
                       Spring注解驱动知识点简单记录四_第6张图片
                       效果:
                       Spring注解驱动知识点简单记录四_第7张图片
                 b:我们测试正常抛出异常的例子
                       Spring注解驱动知识点简单记录四_第8张图片
                      效果:(可以发现一旦出现异常,返回通知就不会调用了)
                       Spring注解驱动知识点简单记录四_第9张图片   
                 

 

上一篇:Spring注解驱动知识点简单记录三

文章目录
 

你可能感兴趣的:(spring)