这是我用java动态代理实现的动态代理机制,用dom4j读取xml文件。
proxyconfig.xml文件的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<ProxyConfig>
<proxy id='testProxy'>
<interface class='com.interfacepacage.Test'/>
<invocationHandler class='com.proxy.ProxyHander'>
<proxied class='com.inteimplements.TestImpl' />
<useraction class='com.userdoimpl.TestUserHandInterImpl'/>
</invocationHandler>
</proxy>
<proxy id='testProxy2'>
<interface class='com.interfacepacage.Test'/>
<invocationHandler class='com.proxy.ProxyHander'>
<proxied class='com.inteimplements.TestImpl' />
<useraction class='com.userdoimpl.AnotherTest'/>
</invocationHandler>
</proxy>
</ProxyConfig>
用静态方法读取其中内容,然后生成响应代理程序,其中为什么叫动态代理,因为其中只用一个类实现了invocationhandler,然后再传入相应的useraction,这个useraction中封装了用户操作,现在就实现了只用修改配置文件,就可以改变相应的实现了。
读取xml文档的类为LoadProxyConfig。
业务逻辑处理封装接口Test。
业务逻辑实现类TestImpl。
代理类ProxyHander
这只是小子自己对动态代理以及用dom4j读取xml用来练手的toy program哈,各位看官不要笑话哈,谢谢。
proxyconfig.xml文件的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<ProxyConfig>
<proxy id='testProxy'>
<interface class='com.interfacepacage.Test'/>
<invocationHandler class='com.proxy.ProxyHander'>
<proxied class='com.inteimplements.TestImpl' />
<useraction class='com.userdoimpl.TestUserHandInterImpl'/>
</invocationHandler>
</proxy>
<proxy id='testProxy2'>
<interface class='com.interfacepacage.Test'/>
<invocationHandler class='com.proxy.ProxyHander'>
<proxied class='com.inteimplements.TestImpl' />
<useraction class='com.userdoimpl.AnotherTest'/>
</invocationHandler>
</proxy>
</ProxyConfig>
用静态方法读取其中内容,然后生成响应代理程序,其中为什么叫动态代理,因为其中只用一个类实现了invocationhandler,然后再传入相应的useraction,这个useraction中封装了用户操作,现在就实现了只用修改配置文件,就可以改变相应的实现了。
读取xml文档的类为LoadProxyConfig。
业务逻辑处理封装接口Test。
业务逻辑实现类TestImpl。
代理类ProxyHander
这只是小子自己对动态代理以及用dom4j读取xml用来练手的toy program哈,各位看官不要笑话哈,谢谢。