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

你可能感兴趣的:(java随笔(十一))