自学Java第68天

再一次接触到了动态代理
比起第一次接触到动态代理时的一脸懵逼
这次理解起来相对而言好了很多

用动态代理自己写了一个数据库连接池
这次的例子更加地实用
而不仅仅是一个明星经纪人例子

连接Connection是Java中的父接口
MySQL中写了一个其实现类
就在MySQL驱动中,具体是啥不用管

现在代理MySQL中的连接
改变其close方法,其它方法不用变
其实现方法就是使用动态代理

动态代理有一个非常重要的东西
就是那个调用处理器
代理类对象无论调用哪个方法

调用处理器都会调用它的invoke方法
需要重写其invoke方法,通过参数method判断
代理类对象调用的是那个方法
再写入具体的业务逻辑即可

当然事实上有现有的连接池框架
我们直接拿来用就OK了,不用自己写
但是最终还是觉得写一遍比较好

还是那句话知其然也要知其所以然
不仅仅只是用,还要尽可能去理解其原理
并且自己写一遍
也能更好地去学习那些开源连接池
展开
刘小爱于2020-06-21 01:35发布的图片
刘小爱于2020-06-21 01:35发布的图片
刘小爱于2020-06-21 01:35发布的图片
刘小爱于2020-06-21 01:35发布的图片
刘小爱于2020-06-21 01:35发布的图片
刘小爱于2020-06-21 01:35发布的图片
25