spring-AOP(面向切面编程)

一AOP的概念

  1AOP是什么

  AOP:Aspect Oriented Programming的缩写,即面向切面编程,在不该类的代码的情况下,对类方法进行功能增强。

  通过AOP的定义,我们可以得到以下信息:

    1.1进行功能增强

    1.2对类方法增强:可选择增强的方法

    1.3不改变原类的代码并且实现增强

  2Advice(通知):增强的功能。

  3Join points:连接点,可选的方法点。

  4PointCut:切入点,选择切入的方法点,即被选中的Join points。

  5Aspect:切面,选择(多个)方法点+增强的功能。

  6Introduction:引入,添加新的方法、属性到已存在的类中,就叫引入。

  7Weaving:织入,不改原类的代码,加入功能增强。

  面对这些概念,在我第一次了解到时,我感觉头有点晕,我来举个例子

  

  

   连接点和切入点的关系:被通知选中的的连接点即为该统治的切入点,例如在图中方法1和方法2之间的切入点就为增强功能1的切入点。

   引入和织入的区别:引入是将新的方法和属性添加到类中,即要改变源代码。织入则是不改变源码。先暂时这样理解,后面会详细讲解。

 二设计

  aop基于以上概念进行设计,每个概念基本上都会对应一个接口,我们一个个来分析

猜你喜欢

转载自www.cnblogs.com/jjdyzz/p/12709396.html