diff --git a/notes/pics/spring-aop-proxy.png b/notes/pics/spring-aop-proxy.png index 59f571df..b5ada229 100644 Binary files a/notes/pics/spring-aop-proxy.png and b/notes/pics/spring-aop-proxy.png differ diff --git a/notes/pics/spring-circular.png b/notes/pics/spring-circular.png index 6cfca540..fd2cf777 100644 Binary files a/notes/pics/spring-circular.png and b/notes/pics/spring-circular.png differ diff --git a/tools/diagram/src/spring-aop-proxy.svg b/tools/diagram/src/spring-aop-proxy.svg index 8b50e5e0..f53f6f9b 100644 --- a/tools/diagram/src/spring-aop-proxy.svg +++ b/tools/diagram/src/spring-aop-proxy.svg @@ -1,46 +1,43 @@ - + - + - + 自调用不经过代理 - - + 调用方 - - + 代理对象 执行切面逻辑 例如开启、提交事务 - - + 原始对象 outer() diff --git a/tools/diagram/src/spring-circular.svg b/tools/diagram/src/spring-circular.svg index 4129417a..bf7bb363 100644 --- a/tools/diagram/src/spring-circular.svg +++ b/tools/diagram/src/spring-circular.svg @@ -1,31 +1,31 @@ - + - + - + @@ -39,32 +39,32 @@ 生成提前引用的工厂 ① 实例化 A,把 A 的工厂放入三级缓存 - + A 的工厂 ② 填充 A 的属性时需要 B,实例化 B - + A 的工厂 - + B 的工厂 ③ 填充 B 时需要 A:调用 A 的工厂, 得到 A 的提前引用,移入二级缓存 - + A(未完成) - + B 的工厂 ④ B 拿到 A,完成初始化 - + B - + A(未完成) ⑤ A 拿到 B,完成初始化 - + A - + B A 需要 AOP 代理时,工厂在第 ③ 步直接返回 A 的代理,B 拿到的就是最终放入容器的对象。