重温Spring之AOP

Posted VVII

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重温Spring之AOP相关的知识,希望对你有一定的参考价值。

AOP理解

  • 面向切面编程,是OOP面向对象编程的补充。将程序中交叉的业务逻辑代码提取出来,封装成切面,由AOP容器在适当的时机将封装的切面动态的织入到具体业务逻辑中。

术语

  • 连接点 joinpoint
    程序执行中某一特定位置,eg 方法调用前或后,方法抛出异常
  • 切入点 pointcut
    定位查找到需要的连接点,一个切点可以包含多个切入点
  • 增强 Advice 也成为通知
    在切点上执行的一段代码,用来实现某些功能
  • 目标对象 target
    将执行增强处理的目标类
  • 织入 weaving
    将增强添加到目标类中具体切入点的过程
  • 代理
    一个类被织入增强后,会产生一个代理类,这个类包含原类以及增强
  • 切面
    切点和增强的组合
  • 引介/引入 introduction


代理模式

概念

  • 为其他对象提供一种代理,以控制对这个对象的访问,起到中介的作用
    通过代理对象访问目标对象,可以增强额外的操作,扩展目标对象的功能

静态代理

  • 手动创建
    代理对象需要与目标类实现相同接口,维护麻烦


动态代理

  • 由JVM根据反射动态生成,程序运行前不存在代理类的字节码文件

JDK

目标对象必须实现一个或多个接口

CGLIB



AOP原理

以上是关于重温Spring之AOP的主要内容,如果未能解决你的问题,请参考以下文章

Springday03 AOPSpring声明式事务Spring编程式事务

Spring之AOP

Spring之AOP理解及使用

源码学习之AOPSpring AOP使用

Spring——AOP之Spring 2.0 中的配置

Spring——AOP之Spring 2.0 中的配置