目录
- 定义
- AOP (面向切面编程)
- 案例
- 步骤
- 项目结构
- 接口 Target
- 目标类 TargetImpl
- 切面类 MyAspect
- pom.xml配置文件
- spring配置文件 applicationContext.xml
- 测试类
- 测试结果
定义
AspectJ是一个面向切面的框架
AOP (面向切面编程)
可以通过预编译方式和运行其动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,也可以理解为是动态代理的规范化
案例
步骤
- 使用maven创建项目
- 在spring框架中添加依赖
- 使用AspectJ框架为目标类添加功能
AspectJ框架默认使用的是JDK的动态代理模式,JDK动态代理要求目标类必须是接口的实现类,所以我们要创建一个接口并让目标类实现该接口(有关JDK动态代理的使用方法可以参考这篇博客:模拟Java动态代理模式:JDK动态代理)
项目结构
接口 Target
目标类 TargetImpl
切面类 MyAspect
切面指的是目标类中增加的功能,可以将切面类中的方法或者方法体看作切面,因为方法或方法体中就是目标类要增加的功能
在不修改目标类源代码的前提下为目标类中的方法增加显示当前时间的功能
pom.xml配置文件
添加spring依赖