1 AOP概述
Aspect Oriented Program面向切面的编程
在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。
面向切面的编程将关注点的代码与业务逻辑分离
2 实现原理
AOP技术是建立在Java语言的反射机制与动态代理(jdk代理、cglib代理)机制之上的。
业务逻辑组件在运行过程中,AOP容器会动态创建一个代理对象供使用者调用,该代理对象已经将切面成功切入到目标方法的连接点上,从而使切面的功能与业务逻辑的功能同时得以执行。
调用者直接调用的其实是AOP容器动态生成的代理对象,再由代理对象调用目标对象完成原始的业务逻辑处理,而代理对象则已经将切面与业务逻辑方法进行了合成。
关注点(通知、增强):重复执行的代码称为关注点
切面:关注点形成的类,切面类
切入点:需要执行的目标方法织入