学习Spring的过程中,一直不理解为何需要用LocalSessionFactoryBean来得到SessionFactory,LocalSessionFactoryBean 本身不是一个session factory,但是spring会自动把对这个bean的引用替换成LocalSessionFactoryBean 里面的真正的session factory。
Hibernate提供的SessionFactory接口的实现类SessionFactoryImpl没有注入数据源的setter方法(上面的代码是直接把hibernate配置文件注入给了LocalSessionFactoryBean,也可以把一个数据源dataSource注入给它)所以为了完成spring的依赖注入,Spring提供了LocalSessionFactoryBean这个类.
现在我们有个这样的问题:
我们想要一个org.hibernate.SessionFactory类.而我们在Spring容器中确是一个LocalSessionFactoryBean类。
publicclass LocalSessionFactoryBean implements FactoryBean, InitializingBean, DisposableBean {
private SessionFactory sessionFactory;
public Object getObject(); {
returnthis.sessionFactory;
}
当引用这个
LocalSessionFactoryBean 的时候,比如applicationContext.g