La diferencia entre JDKProxy y CGlibProxy en Spring
El proxy dinámico de Java utiliza el mecanismo de reflexión para generar una clase anónima que implementa la interfaz del proxy y llama a InvokeHandler para manejarla antes de llamar a un método específico. El proxy dinámico cglib utiliza el paquete de código abierto asm para cargar el archivo de clase del objeto proxy y procesarlo modificando su código de bytes para generar una subclase.
1. Si el objeto de destino implementa la interfaz, el proxy dinámico JDK se utilizará de forma predeterminada para implementar AOP
2. Si el objeto de destino implementa la interfaz, se puede forzar a CGLIB. usarse para implementar AOP
p>
3 Si el objeto de destino no implementa la interfaz, debe usar la biblioteca CGLIB, y Spring convertirá automáticamente entre el proxy dinámico JDK y CGLIB
4. Si el objeto de destino no implementa la interfaz, entonces se debe utilizar la biblioteca CGLIB y Spring convertirá automáticamente entre el proxy dinámico JDK y CGLIB
5. implementar la interfaz, se debe utilizar la biblioteca CGLIB.