AOP简介
1. 概念
Aspect Oriented Programming,面向切面编程
2. 作用
在程序运行期间,在不修改源码的情况下对方法进行功能增强
3. 优势
减少重复代码,提高开发效率,便于维护
4. 底层原理
使用动态代理技术实现,在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强。
5. 代理技术
JDK代理:基于接口的动态代理技术
Cglib代理:基于父类的动态代理技术
6.AOP相关概念
* Target(目标对象):代理的目标对象
* Proxy(代理):一个类被AOP织入增强后,就产生一个结果代理类
* Joinpoint(连接点):在Spring中方法,连接点就是方法,因为Spring只支持方法类型的连接点
* Pointcut(切入点):被增强的方法
* Advice(通知/增强):增强的方法
* Aspect(切面):切入点和通知的结合
* Wea