SpringAOP总结
目录
代理模式实现三要素
代理实现分类以及对应区别
AOP理解
AOP关键词
连接点
切入点
切面
目标对象
代理模式实现三要素
- 接口定义
- 目标对象与代理对象必须实现统一接口
- 代理对象持有目标对象的引用增强目标对象行为
代理实现分类以及对应区别
- 静态代理:手动为目标对象制作代理对象,即在程序编译阶段完成代理对象的创建
- 动态代理:在程序运行期动态创建目标对象对应代理对象
- jdk动态代理:被代理目标对象必须实现某一或某一组接口实现方式通过回调创建代理对象
- cglib 动态代理:被代理目标对家可以不必实现接口,继承的方式实现代理对象
动态代理相比较静态代理强,提高开发效率,可以批量化创建代理,提高代码复用率。
AOP理解
- Aop是面向切面编程,Aop关注的不再是程序代码中某个类,某些方法,而是层与层之间的一种切入
- 应用于日志记录,性能统计,安全控制,事务处理等方面,实现公共功能性的重复使用。
- 作用:降低模块与模块之间的耦合度,提高业务代码的聚合度,提高了代码的复用性,可以在不影响原有的功能基础上添加新的功能
- 动态代理(JDK与CGLIB)实现AOP
AOP关键词
连接点
每一个方法
切入点
匹配的方法集合
切面
连接点与切入点的集合决定了切面,横切关注点的抽象.通知:几种通知
目标对象
被代理对象