代理一个普通的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的三个方法进行增强。
原文地址:https://www.cnblogs.com/wangjunwei/p/11354283.html
时间: 2024-10-13 03:38:29