SqlSessionTemplate注入sqlSessionFactoryBean疑问?

在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

构造器注入应该这样写