java中的代理有什么用??

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:53:48

建议看看《java与模式》代理模式那节。代理就是对一个类进行的代理,或是托管。简单的讲就是对原有类加了一个壳,当程序执行的时候不执行原来的类,首先执行代理类,代理类,可以决定是否执行真正要调用的类。
用途,最常见的就是数据库连接池,数据库连接池里的连接是不能被关闭的,那么,你总不能单独写一个connectionClose方法吧?所以就要代理掉Conection接口的实现类(java的代理是面向接口的代理),代理类判断当执行的方法是close方法的时候就不予执行close操作。其他就是spring中的aop,大量用到了代理。事实上,struts的拦截器也是一种代理。

主要就是包装被代理类,注册一个回调类,拦截被代理类调用,执行相关操作,spring的aop就可以用代理来实现