为了实现DAO组件,Spring提供了大量的XxxDaoSupport类,这些DAO支持类对于实现DAO组件有很大的帮助,因为这些DAO支持类完成了大量基础性工作。

Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供如下两个方法来简化DAO的实现:

(1)public final HibernateTemplate getHibernateTemplate()

(2)public final void setSessionFactory(SessionFactory sessionFactory)

在继承HibernateDaoSupport的DAO实现里,程序无须理会Hibernate的Session管理,Spring会根据实际的操作,采用“每次事务打开一次session”的策略,自动提高数据库访问的性能。