
获得徽章 0
- 自学Java第68天
再一次接触到了动态代理
比起第一次接触到动态代理时的一脸懵逼
这次理解起来相对而言好了很多
用动态代理自己写了一个数据库连接池
这次的例子更加地实用
而不仅仅是一个明星经纪人例子
连接Connection是Java中的父接口
MySQL中写了一个其实现类
就在MySQL驱动中,具体是啥不用管
现在代理MySQL中的连接
改变其close方法,其它方法不用变
其实现方法就是使用动态代理
动态代理有一个非常重要的东西
就是那个调用处理器
代理类对象无论调用哪个方法
调用处理器都会调用它的invoke方法
需要重写其invoke方法,通过参数method判断
代理类对象调用的是那个方法
再写入具体的业务逻辑即可
当然事实上有现有的连接池框架
我们直接拿来用就OK了,不用自己写
但是最终还是觉得写一遍比较好
还是那句话知其然也要知其所以然
不仅仅只是用,还要尽可能去理解其原理
并且自己写一遍
也能更好地去学习那些开源连接池展开2514 - 接上条,其实我想说的是,大家可以在工作之余做做自己的个人项目,不用受制于产品经理,按照自己的想法做,让自己的代码产生价值,或许能从中获得成就感,还可能有意外惊喜。当然这得要求你有产品思维,并且还得有一定的全栈开发能力,总之是一件很有意思的事,值得尝试一下105