1.Spring 的 AOP 简介
1.1什么是 AOP
(1)AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理 实现程序功能的统一维护的一种技术。
(2)AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍 生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序 的可重用性,同时提高了开发的效率。
1.2AOP 的作用及其优势
(1)作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强
(2)优势:减少重复代码,提高开发效率,并且便于维护
1.3 AOP 的底层实现
实际上,AOP 的底层是通过 Spring 提供的的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态 的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强。
1.4 AOP 的动态代理技术
1.5 JDK 的动态代理
(1)目标类接口
(2)目标类
(3)动态代理代码
(4)调用代理对象的方法测试
1.6 cglib 的动态代理
(1)目标类
(2)动态代理代码
(3)调用代理对象的方法测试
1.7 AOP 相关概念
1.8 AOP 开发明确的事项
1.9 知识要点
2.基于 XML 的 AOP 开发
2.1 快速入门
(1)导入 AOP 相关坐标
(2)创建目标接口和目标类(内部有切点)
(3)创建切面类(内部有增强方法)
(4)将目标类和切面类的对象创建权交给 spring
(5)在 applicationContext.xml 中配置织入关系
(6)测试代码
2.2 XML 配置 AOP 详解
(1)切点表达式的写法
(2)通知的类型
(3)切点表达式的抽取
2.3 知识要点
3.基于注解的 AOP 开发
3.1 快速入门
(1)创建目标接口和目标类(内部有切点)
(2)创建切面类(内部有增强方法)
(3)将目标类和切面类的对象创建权交给 spring
(4)在切面类中使用注解配置织入关系
(5)在配置文件中开启组件扫描和 AOP 的自动代理
(6)测试代码
3.2 注解配置 AOP 详解
(1)注解通知的类型
(2)注解配置 AOP 详解
3.3 知识要点