Spring DAO层的设计思想

2011年09月28日 03:32 来源:互联网 | 关键词:spring dao 设计 思想 nbsp 近几年

 

  Spring为不同持久化技术所提供的模板类

  Spring为各种支持的持久化技术都提供了简化操作的模板和回调,在回调中编写具体的数据操作逻辑,使用模板执行数据操 作,在Spring中,这是典型的数据操作模式。下面,我们来了解一下Spring为不同的持久化技术所提供的模板类。

  表 3 不同持久化技术对应的模板类

  ORM持久化技术 模板类

  JDBC org.springframework.jdbc.core. JdbcTemplate

  Hibernate org.springframework.orm.hibernate.HibernateTemplate

  Hibernate 3.0 org.springframework.orm.hibernate3.HibernateTemplate

  iBatis org.springframework.orm.ibatis.SqlMapClientTemplate

  JPA org.springframework.orm.jpa.JpaTemplate

  JDO org.springframework.orm.jdo.JdoTemplate

  TopLink org.springframework.orm.jpa. JpaTemplate

  如果你使用JDK 5.0或以上版本,则可以使用jdbc.core.simple.SimpleJdbcTemplate的模板类,该模板类使用了泛型和不定入数的技术,使模板的功能更加强大,更易于使用。

  如果,我们直接使用模板类,一般都需要在DAO中定义一个模板对象并提供数据资源,Spring为每一个持久化技术都提供了支持类,支持类中已经为我们完成这样的功能。这样,我们只需要扩展这些支持类就可以直接编写实际的数据访问逻辑,没有须臾的阻隔。

  不同持久化技术的支持类如表 4所示:

 

ORM持久化技术 支持类
JDBC org.springframework.jdbc.core. JdbcDaoSupport
Hibernate org.springframework.orm.hibernate.HibernateDaoSupport
Hibernate 3.0 org.springframework.orm.hibernate3.HibernateDaoSupport
iBatis org.springframework.orm.ibatis.SqlMapClientDaoSupport
JPA org.springframework.orm.jpa.JpaDaoSupport
JDO org.springframework.orm.jdo.JdoDaoSupport
TopLink org.springframework.orm.jpa. JpaDaoSupport

 

  表 4 持久化技术的支持类

  ORM持久化技术 支持类

  JDBC org.springframework.jdbc.core. JdbcDaoSupport

  Hibernate org.springframework.orm.hibernate.HibernateDaoSupport

  Hibernate 3.0 org.springframework.orm.hibernate3.HibernateDaoSupport

  iBatis org.springframework.orm.ibatis.SqlMapClientDaoSupport

  JPA org.springframework.orm.jpa.JpaDaoSupport

  JDO org.springframework.orm.jdo.JdoDaoSupport

  TopLink org.springframework.orm.jpa. JpaDaoSupport

  这些支持类都继承于dao.support.DaoSupport类,DaoSupport实现了InitializingBean接口,在afterPropertiesSet()接口方法中检查模板对象和数据源是否被正确设置,否则将抛出异常。

  所有的支持类都是abstract的,其目的是希望被继承使用,而非直接使用。

  小结

  Spring 支持目前大多数常用的数据持久化技术,Spring定义了一套面向DAO层的异常体系,并为各种支持的持久化技术提供了异常转换器。这样,我们在设计DAO接口时,就可以抛开具体的实现技术,定义统一的接口。

  不管采用何种持久化技术,访问数据的流程是相对固定的。Spring将数据访问流程划分为固定和变化两部分,并以模板的方式定义好流程,用回调接口将变化的部分开放出来,留给开发者自行定义。这样,我们仅需要提供业务相关的逻辑就可以完成整体的数据访问了。Spring为了进一步简化持久化模板类的调整,为各种持久化技术提供了使用模板的支持类,支持类不但包含数据访问模板,还包含数据源或会话。通过扩展支持类定义自己的数据访问类是最简单的数据访问方式。

  

关键字:spring dao 设计 思想 nbsp 近几年 | 来源:互联网 | 责任编辑:系统管理员 | 最后编辑:2011年09月28日 03时32分28秒

热点专题

Copyright©2010 -普索网CMS2.0 All Rights Reserved 版权所有
京ICP备09081852号