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