瞥Ibatis Source Code 的一些感想

看Ibatis Source Code 的一些感想
  最近因为一项目想集成Ibatis,但是Ibatis不能满足我们的一个需求,就是sqlMap配置文件的更改,不需要进行重启应用就能更新(我们是没有考虑采用延迟加载的方式)。Ibatis并没有提供接口进行编程式动态更新,通过Spring的生新加载配置也更新不了,没办法,就只能去读源码,看看是否可以改进。
   读源码的时候对Ibatis的结构有了进一步的了解,主要由两大部分组成:Client,Engine,Client定义了一套客户端操作接口,所有的实现都在Engine部分,所以Engine部分又分成了好几个小部分,主要有:配置解析,配置与sql语句转换,操作执行(jdbc),类型转换,映射关系处理等。这几天主要对配置解析部分进行了分析,主要采用了监听者模式(匿名类实现),类似于界面动作监听机制。感觉写得很不错,有一些细节处理还是看得不太明白,需要细细品尝。但总体框架上是明白了,如果我们自己要去写这么一个框架,至少需要做哪些事情。