|
2.4 数据持久化层 虽然使用J2EE技术的Web应用可以连接多种不同的企业信息系统(EIS),但是毫无疑问数据库是其中最为重要和常见的一种。正因如此,Spring对数据库访问提供了非常完备的支持。数据访问对象(DAO)模式是J2EE模式中非常重要的一种。它的主要目的是使得持久化层与业务逻辑层分离,从而屏蔽持久化层的具体实现。我们可以把Spring的DAO支持分为两大类,一是直接基于Spring JDBC模板的数据访问,另一类是基于某种O/R映射框架的数据访问。这里刚好可以使用Spring的控制反转特性,通过外部配置文件来定义DAO接口和实际实现类之间的关系。Spring框架目前支持的O/R映射框架包括Hibernate、JDO、TopLink、iBATIS等。 假设我们定义了一个userDAO。当使用JDBC来实现这个DAO的时候,定义的类可以如下所示: public class userDAOJDBC extends JdbcDaoSupport implements userDAO{ … }
public class UserDAOHibernate extends HibernateDaoSupport implements UserDAO { … }
下面我们看一下如何在Spring的配置文件中定义上述DAO与具体实现的关系。假设我们的userDAO具体实现是通过Hibernate,那么在applicationContext.xml中的一个DAO可以定义如下: <bean id="userDAO" class="com.fgw.dao.hibernate.UserDAOHibernate"><property name="sessionFactory"><ref local="sessionFactory"/></property></bean>
|