这是我用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哈,各位看官不要笑话哈,谢谢。
分享到:
相关推荐
通过动态代理模拟Spring AOP,通过动态代理模拟Spring AOP
java 动态代理实现,模拟了spring实现aop的原理,对学习面向切面编程的朋友有帮助!
以注解方式模拟Spring IoC AOP,了解Spring是如何实现的.
模拟spring aop技术,一个小demo,希望对您理解aop有所帮助.
我们还提供了实际示例,演示如何在Spring AOP中使用JDK动态代理。 CGLib动态代理: 我们将深入研究CGLib动态代理,它允许您在不需要接口的情况下创建代理对象。您将了解CGLib的工作原理,以及如何生成子类来实现...
基于java简单模拟实现spring_ioc
3、使用JDK动态代理技术,对目标类UserDaoImpl生成代理类,此时目标类中的方法成为切入点,通过代理技术,将切面类的通知织入到目标类的方法中,要求在切入点的前后分别加上切面类的审核方法和日志记录方法。...
1. 定义一个MyClass类(或接口),包括math()、english()和physics()方法,可以简单模拟输出:上数学课/英语课/物理...请选择使用JDK动态代理、CGLIB代理、ProxyFactoryBean或者AspectJ中的某一种方式来实现增强处理。
OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也是说,OOP允许你定义从上到下的关系,但并不适合定义从左...
这是个模拟spring ioc的学习例子,是个java工程。有助于对aop和ioc的理解
ASM操作字节码,动态生成Java类class文件,模拟Spring的AOP实现原理。
利用了Spring AOP机制解决了Ajax应用的权限检查问题,应用权限检查推迟到业务逻辑层方法中进行。当权限检查失败时候,会抛出一个自己定义的AuctionException异常。 此外,还利用到了Spring的任务调度和邮件支持。当...
(3) spring-aop.jar 这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。 (4) spring-...
spring Aop配置示例说明,通过模拟mvc实现,service层异常补货.rar
使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。 (4) spring-context.jar 这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
Spring模拟,可创建对象和spring getbean一样,支持简单AOP,可用于dao,service,web层接偶。用注解实现。必须在service定义dao层一个接口,那么该工具将自动在配置的扫描bean中找到该类(接口)的实现类(不必再...
使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。 (4) spring-context.jar 这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ...