发表于: 2017-04-28 20:22:29
1 1267
今日完成
1、连接池:相比与传统JDBC,连接池在初始化时就建立了一定数量的连接,在程序执行数据库操作时不再需要频繁建立断开连接,而是从池中取出连接,用完后放回。需要限制最大数量的连接,如果欲取出的连接数大于最大值,那么将会等待连接被放回。
猜测如果在主函数中取出超过max的连接,比如1000个,不还的话,由于主函数只是一个线程,所以会卡死,或者Runtime异常
不至于让我直接写连接池吧,OK,找jar包,发现有不少,本来想用c3p0,并按教程跑了一个简单的demo。
2、发现spring支持DBCP,故继续学习Spring,放弃c3p0。
想从头写一个SpringDemo,问题不少:(因错误配置的项目已删,凭回忆及搜索记录写)
1)It is indirectly referenced from required .class files错误: 找不到或无法加载主类
先google发现很可能是因为依赖包的问题
尝试删除pom.xml文件,并注释掉与spring有关内容,编译运行正常。
pom拿回来删删看,删的只剩Spring-core,Spring-bean等4-5个包,并不行
搜索发现正确的Spring Maven导入方式,只要一个
其他包自行解决了。
2)继续报错一大堆,关键信息是
如图加上<!DOCTYPE ....>部分是beans的声明,当时以为是注释没写。
3)过程中找到SpringFramework的qiuckstart(链接),我抄了一下
发现其如我之前所预料的的提供了绕过xml文件的方法,采用了@bean这种声明方式串联起了整个Spring框架
我觉得这很cool,但是官方文档很长很长,全英文,疑惑于是否要去看,关键是我是否能看懂
3、我还是想把连接池搞定完成今天的任务,网上找了个bean的配置试了一下,失败,需要学习Spring 不止DBCP的内容,Spring学习进度不够。
4、我仔细想了想,手写连接池并不难:
可以看到我完成任务1已经独立出来的SQL工具类(写的并不好)刚好是以connection为基础的,
我只需要添加一个poolinit,建立多条conn
并给出getConn方法和givebackConn方法就是一个简单的pool了吧
明日计划
视问题情况为定:case
1、完成4,写一个ConnPool
2、学习Spring xml版
3、学习Spring 官方文档
no,自己写一个感觉很cool,我要自己写一个。
收获
c3p0简单连接池,vim命令行,xml结构写法,spring一点点
问题
Spring在Java开发中应该是一个很重要的位置吧,但是现阶段我需要学习到一个什么程度?
以及是努力看官方文档学习,还是最好买本书?
评论