阶段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的案例-案例准备