前言
AOP(Aspect Orient Programming),也就是面向方面编程,作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题,在Java EE应用中,常常通过AOP来处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP实现的关键就在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理两大类,静态代理以AspectJ为代表;而动态代理则以Spring AOP为代表
目的
简单说明一下AspectJ,另外实现一个springboot+Aop+自定义注解实现日志记录的梨子
正文
AspectJ
AspectJ 是一个基于 Java 语言的 AOP 框架,提供了强大的 AOP 功能,其他很多 AOP 框架都借鉴或采纳其中的一些思想。
AspectJ 是 Java 语言的一个 AOP 实现,其主要包括两个部分:第一个部分定义了如何表达、定义 AOP 编程中的语法规范,通过这套语言规范,我们可以方便地用 AOP 来解决 Java 语言中存在的交叉关注点问题;另一个部分是工具部分,包括编译器、调试工具等。
AspectJ 是编译期增强的框架,需要遵从相关语法然后用他的工具编译织入
springboot aop
添加依赖
1 | <!-- AOP依赖模块 --> |
1 | 自定义注解 |
执行结果