zoukankan      html  css  js  c++  java
  • JAVA-Spring AOP 原理及注解方式实现

    Spring AOP的原理

        Spring会在用户获取对象时,生成目标对的代理对象,之后根据切入点规则,匹配用户连接点,得到切入点,当切入点被调用时,不会直接去找目标对象,而是通过代理对象拦截之后交由切面类中的指定的通知执行来进行增强。

        

        Spring自动为目标对象生成代理对象,默认情况下,如果目标对象实现过接口,则采用java的动态代理机制,如果目标对象没有实现过接口,则默认采用cglib动态代理。开发者可以在spring中进行配置,要求无论目标对象是否实现过接口,都强制使用cglib动态代理。

        

    AOP的注解方式实现

        spring也支持注解方式实现AOP,相对于配置文件方式,注解配置更加的轻量级,配置、修改更加方便,是目前最流行的方式了呢~

        1.开启AOP的注解配置方式

           

          2.将指定的类标志为一个切面

            

        3.配置通知 制定切入点规则

          

          

          **通过注解的配置 等价于配置文件的配置

              

        

        4.如果一个切面中多个通知 重复使用同一个切入点表达式,则可以将该切入点表达式单独定义,后续使用,注意,在当前切面中通过注解定义的切入点只在当前切面中起作用,其他切面看不到。

           

        

        5.在后置通知的注解中,也可以额外配置一个returning属性,来指定一个参数名接收目标方法执行后的返回值

        

       6.在异常通知的注解中,也可以额外配置一个throwing属性,来指定一个参数名接收目标方法抛出的异常对象

        

  • 相关阅读:
    提出的问题
    2020软件工程作业02
    2020软件工程作业01
    我当社畜这些年-1
    Electron-vue实现后台多进程(二)
    Electron-vue实现后台多进程(一)
    pytorch自定义loss函数的几种方法
    XGBoost原理
    transformers的bert预训练模型的返回值简要描述
    sklearn下的ROC与AUC原理详解
  • 原文地址:https://www.cnblogs.com/xiaoluohao/p/11286268.html
Copyright © 2011-2022 走看看