Spring的AOP(xml和注解实现AOP,以及代理模式)

版权声明:《==study hard and make progress every day==》 https://blog.csdn.net/qq_38225558/article/details/84204885

AOP术语: 

  连接点(Joinpoint):程序执行的某一个特定位置,如类初始前后,方法的运行前后。而Spring只支持方法的连接点。  
  切点(Pointcut):切点可以定位到相应的连接点,一个切点可以定位多个连接点。 
  增强(Advice):又被称为通知,完成逻辑的增强。 
  目标对象(Target):增强逻辑织入的目标类。 
  引介(Introduction):特殊的增强,为类添加一些属性和方法。 
  织入(Weaving): 将增强添加到目标类的具体连接点上的过程。Spring使用动态代理织入。 
  代理(Proxy):一个类(原类)被织入增强(逻辑)后,就产生一个结果类,称为代理类。 
  切面(Aspect):由切点和增强组成

Spring的AOP 
  配置三要素:     --> 你要在哪些类的哪些方法(前面还是后面)做什么功能
  何时:在执行方法之前/之后/有异常...
  何地:在哪些包中的哪些类的哪些方法上面执行
  做什么事:在UserServie中执行update方法之前添加日志

配置方式一:xml                     配置方式二:注解

xml版实现AOP:   【注意:使用 环绕通知 就不能使用 前置,后置,异常,最终4个通知 】

注解版实现AOP:

Spring的AOP是使用代理模式来完成的,下面我们来了解一下代理模式中的静态代理动态代理

静态代理:不使用,代码增多,使用动态代理!

动态代理:如果代理的类有接口-使用JDK的动态代理模式,如果代理的类没有接口-使用CGLIB的动态代理模式。

下面是JDK的动态代理模式:

猜你喜欢

转载自blog.csdn.net/qq_38225558/article/details/84204885