16.AOP概述
AOP概述
1.什么是AOP
AOP(Aspect Oriented Programing)面向切面编程。
AOP采取横向抽取机制,取代了传统的继承纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存)
Spring的AOP采用了纯Java实现,不需要专门的编译过程和类加载器,在运行期间通过动态代理的方式向目标类注入增强代码。
2.AOP应用场景说明
举例实际项目的引用场景
对程序进行增强:不修改源码的情况下.
权限校验,日志记录,性能监控,事务控制.
3.AOP的底层实现
代理机制:
Spring的AOP的底层用到两种代理机制:
JDK的动态代理:针对实现了接口的类产生代理.
Cglib的动态代理:针对没有实现接口的类产生代理