在mybatis-Spring中,SqlSessionTemplate中构造函数的参数类型是SqlSessionFactory,而在
spring配置时,引用的却是sqlSessionFactoryBean。
而sqlSessionTemplate源码中,构造函数的参数类型是SqlSessionFactory,请问为什么这样配置可以?
public SqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
this(sqlSessionFactory, sqlSessionFactory.getConfiguration().getDefaultExecutorType());
}
public SqlSessionTemplate(SqlSessionFactory sqlSessionFactory);不就是将SqlSessionFactory对象引入吗?你这样配置,就是构造器注入的方式呀。毕竟SqlSessionTemplate没有set注入。你只能通过构造器注入,才能获得到sqlSessionTemplate对象。
因为sqlSessionFactoryBean返回的实例是SqlSessionFactory ,构造注入的是SqlSessionFactory 的实例
http://blog.csdn.net/u013593306/article/details/52596897
构造器注入应该这样写