public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){
SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
return sqlSessionFactoryBean;
}
看一下SqlSessionFactoryBean
的继承实现关系:
先铺垫一下spring中两个非常重要的接口,FactoryBean
和InitializingBean
。
FactoryBean:
FactoryBean
是一个spring中比较特殊的Bean,通过它的getObject()
方法可以返回一个对象实例。SqlSessionFactoryBean
中getObject()
方法的实现:
在这里用于创建并返回一个SqlSessionFactory
,在 spring +mybatis 的环境下,我们使用SqlSessionFactoryBean
来充当SqlSessionFactory
。
InitializingBean:
InitializingBean
接口中只有一个方法,afterPropertiesSet()
,所有实现了该接口的类,在bean的初始化之前都要调用这个方法。可以看出在上面的getObject
方法中,如果SqlSessionF