org.springframework
spring-tx
diff --git a/src/main/java/top/fjy8018/designpattern/pattern/structural/proxy/dynamic/OrderServiceDynamicProxy.java b/src/main/java/top/fjy8018/designpattern/pattern/structural/proxy/dynamic/OrderServiceDynamicProxy.java
index 31a65a3..2047476 100644
--- a/src/main/java/top/fjy8018/designpattern/pattern/structural/proxy/dynamic/OrderServiceDynamicProxy.java
+++ b/src/main/java/top/fjy8018/designpattern/pattern/structural/proxy/dynamic/OrderServiceDynamicProxy.java
@@ -1,6 +1,8 @@
package top.fjy8018.designpattern.pattern.structural.proxy.dynamic;
import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.binding.MapperProxy;
+import org.springframework.aop.framework.ProxyFactoryBean;
import top.fjy8018.designpattern.pattern.structural.proxy.Order;
import top.fjy8018.designpattern.pattern.structural.proxy.db.DataSourceContextHolder;
@@ -11,6 +13,13 @@ import java.lang.reflect.Proxy;
/**
* 动态代理实现分库
* 动态代理适用场景更加广泛,可以实现通用分库逻辑
+ *
+ * {@link ProxyFactoryBean#getObject()} 代理工厂类
+ * {@link org.springframework.aop.framework.JdkDynamicAopProxy} spring AOP实现,对动态代理封装
+ * {@link org.springframework.aop.framework.CglibAopProxy} Cglib 对类进行代理增强
+ * {@link org.apache.ibatis.binding.MapperProxyFactory#newInstance(MapperProxy)} 实现mapper代理
+ * 实际封装在 {@link MapperProxy#invoke(Object, Method, Object[])}
+ * 其获取的方法利用了享元模式 {@link MapperProxy#cachedMapperMethod(Method)}
*
* @author F嘉阳
* @date 2020/3/3 11:00