某个DAO继承HibernateDaoSupport,在SPRING配置文件中不配置sessionFactory

2024-11-30 04:12:50
推荐回答(5个)
回答1:



class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
value="jdbc:mysql://localhost:3306/mysql" />











class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">




采用依赖注入为dao配置sessionfactory



回答2:

  这个跟配置有关系,配置文件设置的注入方式是按名称还是类型等,spring会根据名字相同或者类型相同,直接使用setter方法注入进去的,如果还不确认什么时候注入进去的可以在setter方法上面设置断点,debug跟踪就知道了。

  一般情况下sessionFactory在bean配置文件里面已经注入了的。

回答3:

Hibernate中一个事务肯定要关联一个SessionFactory了,然而这个SessionFactory却没有在DAO中体现。
其实主要的原因是HibernateDaoSupport类已经默默地做了封装的工作,它用一个setSessionFactory方法将SessionFactory进行注入,所以继承自HibernateDaoSupport类的DAO都会具有SessionFactory的属性,从而可以通过SessionFactory创建Session实例操作数据库

回答4:

你也说了,
UserDao继承了一个泛型设计的HibernateGenericDao
而你在spring中没有看到UserDao的

那说明了在UserDao的父类HibernateGenericDao中已经配置了,直接继承过来,不用再配置了。

详细:
QQ 530484923

回答5:

用注解就不用配置bean了。
@Autowired
@Resource
去看看这些是干什么的吧。