daily commit

This commit is contained in:
2022-07-18 23:45:14 +08:00
parent 7ddfc516ae
commit fd95de5996

View File

@@ -33,6 +33,7 @@
- ## 声明Spring AOP切面 - ## 声明Spring AOP切面
- 在容器中任何bean对象如其类型具有@AspectJ注解将会被自动探知到并且用来配置spring aop - 在容器中任何bean对象如其类型具有@AspectJ注解将会被自动探知到并且用来配置spring aop
- 在Spring AOP中aspect其自身是无法作为其他aspect的目标对象的。被标记为@Aspect的类不仅标明其为aspect并且将其从自动代理中排除 - 在Spring AOP中aspect其自身是无法作为其他aspect的目标对象的。被标记为@Aspect的类不仅标明其为aspect并且将其从自动代理中排除
- 如果为某个bean对象配置了切面那么在后续创建该bean对象时实际上是创建该bean对象的代理对象
```java ```java
@Component // 将该类型声明为bean对象 @Component // 将该类型声明为bean对象
@Aspect // 声明切面 @Aspect // 声明切面
@@ -55,10 +56,13 @@
```java ```java
@JoinPoint("within(Point)") @JoinPoint("within(Point)")
``` ```
- this匹配生成的代理对象为该类型的方法 - this匹配生成的代理对象为该类型的一个实例
- target匹配目标对象为该类型的方法 - target匹配目标对象为该类型的一个实例
- args匹配特定参数的方法 - args匹配特定参数
- - @args传递参数的类型具有指定的注解
- @target运行时该对象的类具有指定的注解
- @within运行时执行的方法其方法定义在具有指定注解的类中可以是继承父类的方法父类指定了注解
- @annotation执行的方法具有指定注解
- Spring AOP同样支持将JoinPoint匹配为具有特定name的Spring bean对象 - Spring AOP同样支持将JoinPoint匹配为具有特定name的Spring bean对象
```java ```java
@JoinPoint("bean(nameA) || bean(nameB))") @JoinPoint("bean(nameA) || bean(nameB))")