diff --git a/spring-aop/spring-aop-pointcut/README.md b/spring-aop/spring-aop-pointcut/README.md index db60de6..cda3401 100644 --- a/spring-aop/spring-aop-pointcut/README.md +++ b/spring-aop/spring-aop-pointcut/README.md @@ -35,6 +35,7 @@ + 提供了匹配规则,以确定在哪些方法上应用切面。这些规则可以基于方法的名称、参数、返回类型、类名称等多种条件来定义,从而实现对切入点的精确定位。 3. **获取类过滤器** + + `getClassFilter()` 方法用于获取一个 `ClassFilter` 对象,该对象用于确定哪些类应该被匹配。我们可以根据自己的需求自定义类过滤逻辑。 4. **获取方法匹配器** @@ -89,6 +90,7 @@ public interface Pointcut { + 根据方法名称匹配的切入点。可以配置指定的方法名称或通配符,以匹配目标类中的方法。 2. **JdkRegexpMethodPointcut** + + 使用正则表达式匹配方法的切入点。可以使用正则表达式指定方法的匹配规则。 3. **AspectJExpressionPointcut** @@ -380,8 +382,11 @@ MethodMatcher MyService setName = true 1. **切入点表达式定义错误** + 使用 AspectJ 表达式时,可能会由于表达式定义错误导致切入点匹配失败。例如,表达式写错了、漏掉了必要的切入点信息等。 -3. **切入点过于宽泛** -+ 切入点定义过于宽泛,导致匹配到了不必要的方法,使得通知影响范围过大。这可能会导致性能问题或意外的行为。 + +2. **切入点过于宽泛** + + + 切入点定义过于宽泛,导致匹配到了不必要的方法,使得通知影响范围过大。这可能会导致性能问题或意外的行为。 + 4. **切入点过于狭窄** + 切入点定义过于狭窄,导致无法匹配到预期的目标方法,使得通知无法正确应用。这可能会导致切面无法达到预期的效果。 \ No newline at end of file