从XML中构建SqlSessionFactory
每个基于Mybatis的应用都是以一个SqlSessionFactory的实例为核心的。SqlSessionFactory的实例如何通过SqlSessionFactoryBuilder获得,而SqlSessionfactoryBuilder则可以从XML配置文件或一个预先配置的Configuration实例来构建出SqlSessionFactory实例。
从XML文件中构建SqlSessionFactory的实例非常简单,建议使用类路径下的资源文件进行配置。但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串file:/URL构造的输入流,Mybatis 包含一个名叫Resources的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。
BeanFactory和ApplicationContext 两种容器都是通过XML配置文件加载Bean的。二者的主要区别在于,如果Bean的某一个属性没有注入,使用BeanFactory加载后,在第一次调用getBean()方法时会抛出异常,而ApplicationContext则在初始化时自检,这样有利于检查所依赖属性是否注入,因此,在实际开发中,通常都优先选择使用ApplicationContext.而只有在系统资源较少时,才考虑使用BeanFactory。