這篇文章以前面對SqlSessionFactoryBean的重構(gòu)為基礎(chǔ),先簡單回顧一下做了哪些操作:
- 新建SqlSessionFactoryBean,初始代碼和mybatis-spring相同;
- 重構(gòu)buildSqlSessionFactory()方法,將眾多的if語句抽取為一組小方法,預留自定義配置的方法,同時添加常用屬性的getter方法;
- 提取組件工廠接口,并提供組件創(chuàng)建工具類SqlSessionComponetFactorys,將散落在不同地方的new Xxx()集中管理,便于組件的替換。
現(xiàn)在來看怎么擴展,首先創(chuàng)建SchemaSqlSessionFactoryBean,繼承重構(gòu)后的SqlSessionFactoryBean,在XML配置中同步修改為新建的類:
public class SchemaSqlSessionFactoryBean extends SqlSessionFactoryBean { }
對于一些簡單的功能擴展,比如設置默認結(jié)果類型,掃描指定的類型簡稱,這里就不過多討論了,這里集中講述怎么擴展為使用XSD校驗SqlMapper配置。