AspectJ 是一个面向切面的框架,它扩展了 Java 语言。AspectJ 定义了 AOP 语法,它有一个专门的编译器用来生成遵守 Java 字节编码规范的 Class 文件。
AspetJ 是 Eclipse 的开源项目,官网介绍如下:
- a seamless aspect-oriented extension to the Javatm programming language(一种基于 Java 平台的面向切面编程的语言)
- Java platform compatible(兼容 Java 平台,可以无缝扩展)
- easy to learn and use(易学易用)
AspectJ 中常用的通知类型有五种:
前置通知、后置通知、环绕通知、异常通知、最终通知
接下来这篇文章讲一下Spring框架使用AspectJ时实现AOP前置通知的相关知识
2020最新Spring框架教程【IDEA版】-Spring框架从入门到精通_哔哩哔哩_bilibili本套Java视频教程主要讲解了Spring4在SSM框架中的使用及运用方式。本套Java视频教程内容涵盖了实际工作中可能用到的几乎所有知识点。为以后的学习打下坚实的基础。评论区还有相关的学习资源,大家一定要记得素质三连哦!!!
https://www.bilibili.com/video/BV1nz4y1d7uy
一、什么是AOP?
AOP面向切面编程,是基于动态代理的。AOP就是动态代理的规范化,把动态代理的实习按步骤和方式都定义好了,让开发人员用一种统一的方式使用动态代理。
Aspect Orient Programming:面向切面编程
Aspect:切面。给目标类增加的功能就是切面。添加的日志信息和事务都是切面。
切面的最大特点就是:非业务方法,和我们的业务功能没有关系,可以独立使用的。
二、怎么理解面向切面编程:
- 需要在分析项目时,找出切面。
- 合理的安排切面的执行时间(是在目标方法前执行,还是在目标方法后执行)。
- 合理的安排切面执行的位置(在哪个类,哪个方法增加增强功能)。
三、术语:
- Aspect:切面,表示要给业务方法增强的功能,就是一堆代码,这堆代码完成某一个功能。切面是非业务功能(日志,事务,统计信息,参数检查,权限验证)
- J