16.AOP概述

 

AOP概述

1.什么是AOP

AOP(Aspect Oriented Programing)面向切面编程。

AOP采取横向抽取机制,取代了传统的继承纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存)

Spring的AOP采用了纯Java实现,不需要专门的编译过程和类加载器,在运行期间通过动态代理的方式向目标类注入增强代码。

2.AOP应用场景说明

举例实际项目的引用场景

对程序进行增强:不修改源码的情况下.

权限校验,日志记录,性能监控,事务控制.

3.AOP的底层实现

代理机制:

Spring的AOP的底层用到两种代理机制:

JDK的动态代理:针对实现了接口的类产生代理.

Cglib的动态代理:针对没有实现接口的类产生代理