美文网首页
Spring-AOP相关概念

Spring-AOP相关概念

作者: HeloWxl | 来源:发表于2019-12-17 13:53 被阅读0次

Aop原理

  • AOP(Aspect Oriented Programming,面向切面编程),是一种不同于OOP(Object Oriented Programming)的编程模式,不是OOP的替代,而是对OOP的一种补充。

  • 假设项目中由多个业务都包含了一些相同的代码,这样的话,我们就可以使用OOP的思想,将这些“相同的代码”封装到一个方法method()之中,然后在不同的业务中调用改方法。


    image.png
  • 从AOP的角度来看,可以吧method看成一种横切逻辑,称为切面,即指贯穿在各个业务中。

  • 使用AOP就不再在各个业务中显示的调用method方法,而是通过配置给各个业务标识一些切入点(Point),例如将add方法标识为一个切入点,当以后某个业务执行到改切入点时,就会根据通知(Advice)类型自动去执行method这个切面。

  • 如果通知类型是前置通知,就会在每次执行add方法前先执行method()方法。这就好比给add()方法给增强了。

  • 使用AOP的方式在完全不修改业务代码的前提下,给业务增加新功能,即实现了业务逻辑和横切逻辑的彻底解耦合。

AOP相关名词

  • 切面(Aspect)
    一个横切功能的模块化,这个功能可能会横切多个对象。例如:method()方法就是一个切面,它能够横切到多个业务中去。
  • 切入点(Pointcut)
    可以插入横切逻辑(如method())的方法。例如,调用add()就是一个切入点。
  • 通知(Advice)
    1.前置通知:在切入点add()方法执行之前,插入的通知。
    2.后置通知:在切入点add()方法执行之后,插入的通知。
    3.异常通知:在切入点add()方法抛出异常时,插入的通知。
    4.最终通知:在切入点add()方法执行完毕时,插入的通知(不论是正常返回还是异常退出)。
    5.环绕通知:可以贯穿切入点add()方法执行的整个过程。

两个核心概念

  • 目标对象(Target Object)
    被一个或多个切面所通知的对象,又被称为通知对象。
  • 代理对象(Proxy Object)
    AOP框架创建的对象,和目标对象遵循同样的接口,使用它的方式和使用目标对象的方式是一样的。不过,他是目标对象的增强版,通知中的代码执行时将会被代理对象的方法调用出发。

相关文章

  • Spring-AOP相关概念

    Aop原理 AOP(Aspect Oriented Programming,面向切面编程),是一种不同于OOP(O...

  • spring-aop

    aop概念aop概念aop术语AOP实现方式1、spring-aop(使用xml文件实现AOP)2、AspectJ...

  • Spring-AOP

    spring-aop模块笔记 核心接口与概念 Pointcut切点:切点就是所有的待匹配的切入点,被它过滤通过的类...

  • 相关概念

    中间件 是提供系统软件和应用软件之间连接的软件,以便于各种部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑。...

  • 自定义注解,aop+redis,实现controller接口频率

    1,环境配置 引入aop的jar包compile 'org.springframework:spring-aop:...

  • 14-进程和任务计划

    本章内容 ◆ 进程相关概念◆ 进程工具◆ 系统性能相关工具◆ 计划任务 进程概念 进程,线程和协程 进程相关概念 ...

  • spring相关概念

    1、spring是开源的轻量级框架 2、spring核心主要两部分: (1)aop:面向切面编程,扩展功能不是修改...

  • Linux 相关概念

    Linux 文件系统 ext 文件系统(Extended 扩展)几乎不产生磁盘碎片,所以在Linux系统下一般不需...

  • Java概念相关

    封装,继承,多态,生命周期,垃圾回收,虚拟机,类加载器,反射

  • HTML——相关概念

    1.HTML文档(网页) HTML文档又称为网页。 2.Web浏览器 用于读取HTML文件,并且将其作为网页显示 ...

网友评论

      本文标题:Spring-AOP相关概念

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