Spring AOP总结
代理模式实现三要素
1.接口定义
2.目标对象与代理对象必须实现统⼀接口
3.代理对象持有目标对象的引⽤ 增强⽬标对象⾏为
代理模式实现分类以及对应区别
1.静态代理:⼿动为⽬标对象制作代理对象,即在程序编译阶段完成代理对象的创建。
2.动态代理:在程序运⾏期动态创建⽬标对象对应代理对象。
3.jdk动态代理:被代理⽬标对象必须实现某⼀或某⼀组接⼝ 实现⽅式 通过回调创建代理对象。
4.cglib 动态代理:被代理⽬标对象可以不必实现接口,继承的⽅式实现。
动态代理相比较静态代理,提高开发效率,可以批量化创建代理,提高代码复⽤率。
Aop 理解
1.⾯向切⾯,相⽐oop 关注的是代码中的层 或⾯
2.解耦,提⾼系统扩展性
3.提⾼代码复⽤
Aop 关键词
- 连接点:每⼀个⽅法
- 切⼊点:匹配的⽅法集合
- 切⾯:连接点与切⼊点的集合决定了切⾯,横切关注点的抽象
- 通知:⼏种通知
- ⽬标对象:被代理对象
- 织⼊:程序运⾏期将切⾯应⽤到⽬标对象 并⽣成代理对象的过程
- 引⼊:在不修改原始代码情况下,在程序运⾏期为程序动态引⼊⽅法或字段的过程