文章目录
一、AOP 简介
二、AspectJ 简介
三、AspectJ 下载
一、AOP 简介
AOP 是 Aspect Oriented Programming 的缩写 , 面向切面编程 ;
利用 AOP 面向切面编程 , 可以将 业务逻辑的各个部分 进行隔离 , 每个 业务逻辑部分 放在 一个切面 中实现 , 降低了各个业务逻辑之间的 耦合程度 , 提高了程序的 灵活性 , 可复用性 , 可维护性 , 开发效率 ;
AOP 应用场景 :
用户行为统计 : 统计应用中 , 哪个页面 , 哪个功能 ;
性能监测 : 监测各个页面的使用性能 ;
日志记录
安全控制
事务处理
异常处理
使用频率最高 , 性能差的功能优先进行迭代 ;
小型应用 , 一般选择使用 第三方埋点统计 SDK ;
大型应用 , 一般不会将自己的用户行为 , 性能监测信息 , 上传到第三方厂商的服务器上 ;
这类第三方 SDK 厂商 , 提供免费的 统计服务 以及 性能监测服务 , 但是被统计的数据一般都会被作为产品销售给大型的互联网企业 , 这些数据显然不可能保密 ;
特别注意 : 用户过百万 , 不要使用第三方 SDK , 用了基本等于把所有数据公开了 ;
二、AspectJ 简介
AspectJ 的相关要素 :
Aspect 切面 : Java 中的类声明是 对事物的抽象 , AspectJ 中的 Aspect 切面就是 对切面的抽象 , 其中包含了 Point Cut 切入点 和 Advice 通知 ; 使用 @Aspect 注解修饰 ;
Join Point 连接点 : 程序执行过程中的关键执行点 , 如 方法调用 , 对类成员和方法的访问 , 异常处理模块 等 ; Join Point 连接点之间可以相互嵌套 ;
Point Cut 切入点 : 一组 Join Point 连接点 , 通过 逻辑关系 / 正则表达式 / 通配符 等关系组合 , 定义了 Advice 通知发生的位置 ;
Advice 通知 : Advice 通知 是在 Point Cut 切入点 具体执行的操作 , 可以执行
在 Join Point 连接点 before 之前进行操作
在 Join Point 连接点 after 之后进行操作
在 Join Point 连接点 around 前后都要进行操作
三、AspectJ 下载
AspectJ 下载地址 : http://www.eclipse.org/aspectj/downloads.php
点击红色矩形框中的链接 , 可以下载最新的稳定版本 ;
下载下来的 aspectj-1.8.10.jar 文件 , 可以直接运行 , 双击后 , 弹出如下对话框 ;
aspectj-1.8.10.jar 文件中包含的内容 :
aspectj-1.8.10.jar 文件中包含的 lib 库 :
aspectj-1.8.10.jar 文件中包含的 doc 文档 :