java随笔(十一)

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(...)方法,从而完成了动态代理的效果。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容