java动态代理源码分析,总结。
java动态代理实现步骤:
1、创建代理接口实例对象,如HelloService helloService = new HelloServiceImpl();
2、实现接口InvocationHandler;
3、通过Proxy创建代理对象,如HelloService helloServiceProxy = (HelloService) Proxy.newProxyInstance(helloService.getClass().getClassLoader(),
helloService.getClass().getInterfaces(), new HelloProxy(helloService));
helloServiceProxy.sayHello("hs", "spring");
通过阅读源码发现,动态生成代理对象$Proxy0,该对象继承Proxy类
和实现HelloService接口,重写了sayHello方法,并在方法内部调用了InvocationHandler实现类的invoke(...)方法,从而完成了动态代理的效果。
网友评论