这篇文章以前面对SqlSessionFactoryBean的重构为基础,先简单回顾一下做了哪些操作:

  1. 新建SqlSessionFactoryBean,初始代码和mybatis-spring相同;
  2. 重构buildSqlSessionFactory()方法,将众多的if语句抽取为一组小方法,预留自定义配置的方法,同时添加常用属性的getter方法;
  3. 提取组件工厂接口,并提供组件创建工具类SqlSessionComponetFactorys,将散落在不同地方的new Xxx()集中管理,便于组件的替换。

现在来看怎么扩展,首先创建SchemaSqlSessionFactoryBean,继承重构后的SqlSessionFactoryBean,在XML配置中同步修改为新建的类:

public class SchemaSqlSessionFactoryBean extends SqlSessionFactoryBean {  }

对于一些简单的功能扩展,比如设置默认结果类型,扫描指定的类型简称,这里就不过多讨论了,这里集中讲述怎么扩展为使用XSD校验SqlMapper配置。

网友评论