0x01 Spring的ORM集成思路
通过模板方法模式进行集成,防止资源散落造成的内存泄露,在模板方法如execute
中进行资源获取并关闭,异常捕获,事务管理。
关注点1:获取资源
- 获取
ConnectionFactory
- JDBC获取
DataSource
- Hibernate获取
SessionFactory
- iBatis获取
SqlMapSession
- JDBC获取
- 获取
Connection
- JDBC获取
Connection
- Hibernate获取
Session
- iBatis获取
SqlMapSession
- JDBC获取
获取ConnectionFactory
通过Spring的FactoryBean
进行实现,可以通过FactoryBean
配置需要的DataSource
以及相关ORM需要的配置等
关注点2:异常转译
关注点3:统一事务管理
0x02 模板方法模式+回调方法
模板方式模式将多数重复代码放在了一个核心方法中,对一些需要顺序进行的操作,程序员关心的是一些核心方法,比如HttpClient
,我们只想调用get
或者post
方法,然后传入参数。那么可以通过模板方法模式封装,并且可以提供回调方法来进行自定义,如get
或post
方法,就可以在核心方法上提供已经完善的回调方法实现即可