AspectJ框架实现AOP

Exisi 2022-11-28 08:19:34
Categories: Tags:

 

 

<!-- AOP核心功能,例如代理工厂等 -->

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-aspects</artifactId>

  <version>5.2.7.RELEASE</version>

</dependency>

<!-- 支持切入点表达式等 -->

<dependency>

  <groupId>org.aspectj</groupId>

  <artifactId>aspectjweaver</artifactId>

  <version>1.8.13</version>

</dependency>

 

<!-- 支持aop相关注解 -->

<!--

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>aspectjrt</artifactId>

  <version>5.2.7.RELEASE</version>

</dependency>

-->

 

 

 

 

类型匹配语法

AspectJ类型匹配的通配符:

 

通配符

描述

 *

匹配任何数量字符;

..

匹配任何数量字符的重复,如在类型模式中匹配任何数量子包;而在方法参数模式中匹配任何数量参数。

+

匹配指定类型的子类型;仅能作为后缀放在类型模式后边。

示例

类匹配

描述

java.lang.String

匹配String类型; 

java.*.String

匹配java包下的任何一级子包下的String类型; 

如匹配java.lang.String但不匹配java.lang.ss.String 

java..*

匹配java包及任何子包下的任何类型

如匹配java.lang.Stringjava.lang.annotation.Annotation 

java.lang.*ing

匹配任何java.lang包下的以ing结尾的类型; 

java.lang.Number+

匹配java.lang包下的任何Number的自类型; 

如匹配java.lang.Integer,也匹配java.math.BigInteger

 

 ​​​​​​​