美文网首页
Spring AOP

Spring AOP

作者: 随心者随心行 | 来源:发表于2018-05-04 09:45 被阅读0次

aop思想——横向重复,纵向抽取.

在运行时,动态的将代码切入到类的指定方法、指定位置上的编程思想就是面向切面编程

Spring AOP就是基于动态代理的。如果要代理的对象,实现了某个接口,那么Spring AOP会使用JDK Proxy,去创建代理对象,而对于没有实现接口的对象,就无法使用JDK Proxy去进行代理了,这时候Spring AOP 会使用Cglib,生成一个被代理对象的子类,来作为代理。

spring能够为容器中管理的对象生成动态代理对象

Spring实现AOP的原理

  • JDK代理 优先
    被代理的对象必须实现接口,才能产生代理对象,如果没有接口将不能使用动态代理技术

  • cglib代理 没有接口
    第三方代理技术,cglib代理,可以对任何类生成代理,代理的原理是对目标对象进行继承代理.如果目标对象被final修饰,那么该类无法被cglib代理.

spring的AOP名词解释

  • JoinPoint(连接点)
    目标对象中,所有可以增强的方法
  • Poincut(切入点):
    目标对象中已经增强的方法.
  • Advice(通知/增强)
    增强的代码
  • Target(目标对象)
    被代理对象
  • Weaving(织入)
    将通知应用到切入点的过程
  • Proxy(代理)
    将通知织入到目标之后,形成代理对象
  • Aspect(切面)
    切入点+织入

Spring中的AOP

 1.准备目标对象
  2. 准备通知
  3. 配置进行织入,将通知织入到目标对象中

配置将通知织入目标对象


   <!--配置目标对象-->
<bean name="" class=""></bean>

<!--配置通知对象-->
<bean name="" class=""></bean>

<!--配置将通知织入目标对象-->
 <aop:config>
     <!--配置切入点-->
     <aop:pointcut id="" expression=""

 </aop:config>

相关文章

网友评论

      本文标题:Spring AOP

      本文链接:https://www.haomeiwen.com/subject/ymwrrftx.html