Articulo de referencia:
1. https://www.zhihu.com/question/20794107/answer/658139129 (explicación detallada de los agentes estáticos y dinámicos)
2. Acerca de Cglib: https://zhuanlan.zhihu.com/p/70098824
1. El propósito general de la agencia : expandir las funciones del objeto objetivo. No cambia su propia función;
2. Modos de proxy comunes : estático, dinámico, proxy Cglib. Los dos primeros son adecuados para el objeto de destino que implementa la interfaz, y el último es adecuado para el objeto de destino que no implementa la interfaz;
3. La idea de proxy del objeto de destino con interfaz: basada en la idea de copiar + extensión, crear una clase de proxy: para extender mejor sobre la base original, la clase de proxy y la clase de destino pueden realizar la misma interfaz (similar a copiar, luego Expandir);
4. Basado en diferentes métodos de "copia", se divide en agentes estáticos y dinámicos : los siguientes se utilizan principalmente para comprensión y memoria, y el código específico se refiere al artículo.
- La estática es la siguiente:
- La dinámica es la siguiente:
Omita la generación de clases de proxy y genere directamente objetos de proxy.
Acerca del puente entre el objeto proxy y el objeto de destino-InvocationHandler: