问题背景 如果切入点表达式为 @Pointcut("execution(* pers.gxm.learning.spring6.aop.example.*.*(..))") 下面三种不同的包结构,代理类是如何生成的? 其中C2是C2Interface的实现类 情况一:接口和实现类都匹配表达式 情况二:接口匹配表达式、实现类不匹配表达式 情况三:实现类匹配表达式、接口不匹配表达式 结论 经过测试,流程图如下