It programmer development Essentials-all kinds of resources download list, history of the most IT resources, personal collection summary.
Spring is based on the choice of JDK or cglib:
(1) When the bean implements the interface, Spring uses the JDK's dynamic proxy (2) when the bean does not implement the interface, spring using CGLIB is the implementation
Purpose of the dynamic agent:
You can usually do permission interception, system monitoring, etc.
dynamic Proxy implemented by JDK:
Personservice.java interface
Personservicebean.java implementation classes that require proxies
Dynamic proxy classes implemented by JDK: Jdkproxyfactory.java
Test class Aopproxytest.java:
Post-Execution output:
Dynamic agents implemented by Cglib:
Animalservicebean.java class requiring proxy, no interface implemented
Dynamic proxy class implemented by Cglib: Cglibproxyfactory.java
Test class Aopproxytest.java:
Output Result:
Source code: See: JDK and Cglib dynamic Proxy source code implemented separately