阶段3 2.Spring_07.银行转账案例_9 基于子类的动态代理

Posted wangjunwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阶段3 2.Spring_07.银行转账案例_9 基于子类的动态代理相关的知识,希望对你有一定的参考价值。

代理一个普通的java类


导入cglib的包
技术图片
它还有一个asm的依赖。会自动加进来
技术图片
创建cglib的文件夹。把proxy里面的Client和Producer复制到cglib文件夹
技术图片
Producer不实现任何的接口
技术图片
Client内的代码要重新写

不能受罪种类,如果是最终类就不能再创建子类了

技术图片

参数1是Class 参数2是Callback
技术图片

技术图片
MethodInterceptor是Callback的子接口
技术图片
前面三个参数和基于接口的动态代码参数是一样的
技术图片

技术图片
producer需要用final来修饰
技术图片

技术图片
调用一下这个方法,传入1万2f
技术图片

技术图片
技术图片

对已经写好的方法进行增强。并且在增强的过程中提供一些我们需要实现的功能

用处

连接池的close方法在关闭的时候不能真正的关闭,而是要还回池中。那就可以使用动态代理的方式对connection的close方法进行增强。把它加回到池里面去

解决全站中文乱码request方法的增强,用装饰者模式可以实现,用动态代理同样可以实现。就是对getParameter的三个方法进行增强。

 

以上是关于阶段3 2.Spring_07.银行转账案例_9 基于子类的动态代理的主要内容,如果未能解决你的问题,请参考以下文章

阶段3 2.Spring_07.银行转账案例_4 编写事务管理工具类并分析连接和线程解绑

阶段3 2.Spring_阶段3 3.SpringMVC·_06.入门案例的流程总结

案例银行转账存储过程

阶段3 2.Spring_05.基于XML的IOC的案例1_1 基于XML的IOC的案例-案例准备

阶段3 2.Spring_05.基于XML的IOC的案例1_2 基于XML的IOC的案例-编写spring的Ioc配置

阶段3 2.Spring_10.Spring中事务控制_5 spring事务控制的代码准备