在了解AOP之前,先了解代理模式,能更加理解AOP的作用。
AOP的作用:
Spring 框架监控切入点方法的行,一旦监控到切入点方法被运行,使用代理机制,动态创建目标对象的代理对象,根据通知类别,在代理对象的相应位置,将通知 对应的功能加入,完成完整的代码逻辑运行。
上面这段话还是比较难以理解的,举个简单的例子:
就好比公交车,公交车出站开始运营,乘客知道了公交车开始运营了,在站点等着,车子到站乘客就上车。
公交车:切入点方法;乘客:功能。
公交车和人两个本来毫无关系的个体在公交运行时产生了联系。
AOP即切面
AOP底层即是动态代理模式
切面 = 切点(目标对象中的方法) + 增强方法(增加的新功能)
一旦检测到目标对象中的方法被调用,就将增强方法调入,将两者进行整合成一段新的代码逻辑功能。