SPring.Day09.AOP
01. 什么是AOP
AOP: Aspect Oriented Programming 的缩写; 意思为:面向切面编程;是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术;
02. AOP的作用和优势
作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强;
优势:减少重复代码的编写,提高开发效率,并且便于维护;
03.AOP底层实现
>> AOP的底层是通过Sping提供的动态代理人技术实现的;
>> 在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强;
04.常用的动态代理技术
>> JDK代理:基于接口的动态代理技术;
>> cglib代理:基于父类的动态代理技术;
05. 动态代理底层的实现( JDK 代理)
06. cglib 的动态代理
07. AOP的相关概念
08. AOP开发明确的事项
09. 基于XML的AOP开发
a. 导入AOP相关坐标
b. 创建目标接口和目标实现类(内部有切入点);
c. 创建切面类(内部有增强方法);
d. 将目标类与切面类的对象创建权交给Spring; (applicationContext.xml中配置)
e. 在applicationContext.xml 中配置织入关系
f. 测试代码
>> 切点表达式说明
> 切点表达式的抽取
>>通知的类型
10. 基于注解的AOP开发
a. 创建目标接口和目标实现类(内部有切入点);
b. 创建切面类(内部有增强方法);
c. 将目标类和切面类的对象创建权交给Spring
d. 在切面类中使用注解配置织入关系;
f. 在配置文件中开启组件扫描和AOP的自动代理;
g. 测试代码
>> 注解通知的类型