快速业务通道

Apache Geronimo和Spring框架,第1部分: 开发方法学 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
还是集中在对象上。AOP 通过着眼于方面或关注点(Concern),而不是 对象,扩展了 OOP 的概念。AOP 应用程序按方面或关注点进行分解,否则,一个方面或关注点可能跨越 多个对象。事务和池(pooling) 就是方面(aspect)的例子。

Spring 带有 AOP 框架

Spring 框架带有一个专门的、隔离的 AOP 框架 —— 这里隔离的意思是 Spring IoC 容器并不依赖 于 AOP,它并不要求必须使用 AOP。

Spring AOP 框架中已将一些声明性中间件服务(即 aspect)打包在内。其中有一个预打包的中间件 服务是声明性事务管理服务,正如在 EJB 中一样,它提供了对声明性事务的控制。在本教程后面的几节 将对此进行更详细的讨论。

Spring DAO

Spring 的 Data Access Objects (DAO) 软件包提供了一个 JDBC 抽象层。它还提供了一种更为容易 地管理异常处理和不同数据库厂商抛出的错误码的手段。另外,JDBC 包还提供了一种执行编程性或声明 性事务管理的方法,不仅可用于实现特殊接口的类,也可用于所有的传统 Java 对象 (plain old Java object,POJO)。

Spring 框架的设计使得它可以直接跟一些流行的 ORM API(如 JDO、Hibernate 和 iBatis)集成。

Spring DAO 的特性

Spring DAO 框架的主要目标是让数据访问技术(如 JDBC、Hibernate 或 JDO)相关的工作得以标准 化和简化。如果使用 Spring DAO 框架,从一种数据访问技术转移到另一种会变得相当容易。

Spring DAO 框架试图在以下几方面实现标准化:

异常层次结构

Spring DAO 框架具有自己的异常层次结构,相比传统的 SQLException 可提供多得多的信息。这些异 常把底层数据访问技术抛出的异常包装起来,以一种标准的和易于理解的格式显示出来。

DAO 支持抽象类

为了更容易地以一致的方式使用各种数据访问技术,如 JDBC、JDO 和 Hibernate,Spring 提供了一 组抽象 DAO 类,可以对其进行扩展。这些抽象类具有一些方法,可对数据源和针对当前使用技术的任何 其他配置设定项进行设置。

Apache Geronimo和Spring框架,第1部分: 开发方法学(5)

时间:2011-10-13 IBM Arun Chhatpar

DAO 支持类包括:

JdbcDaoSupport:JDBC 数据访问对象的超类。需要设置一个 DataSource,向子类提供一个基于它的 JdbcTemplate。

HibernateDaoSupport:Hibernate 数据访问对象的超类。需要设置一个 SessionFactory,向子类提 供一个基于它的 HibernateTemplate。

JdoDaoSupport:JDO 数据访问对象的超类。需要设置一个 PersistenceManagerFactory,向子类提供 一个基于它的 JdoTemplate。

现在让我们来看一下 Spring 框架如何用 JDBC 来支持数据访问。

使用 JDBC 的数据访问

在 Java Platform, Standard Edition (Java SE) 和 Java EE 平台上的应用程序中使用传统的 JDBC 有很多优缺点。JDBC 具有的一些特点使它的易用性变得差强人意。这些特性包括:

即使对于很简单的数据库功能,应用程序开发人员也必须写很长而乏味的 try-catch 代码块。

JDBC 用户最常见的错误是没有正确地关闭连接。这就会让许多连接资源无法被其他任务所用。

JDBC 没有异常层次结构。

JDBC 的 SQLException 过于空泛,无法就出现的问题提供足够的信息。

Spring 框架中的 JDBC 支持试图通过一个非常有特色的方式解决这些问题。简单地说,它将连接管理 功能和其他数据库相关的资源管理功能进行抽象,不再由开发人员管理,这就使得资源的关闭更加正确, 代码可读性也得到了提高。

Spring 所提供的 JDBC 抽象框架包括 4 个不同的包 —— 核心包、数据源包、对象包和支持包。

核心包 包括 JdbcTemplate 类。它采取了 Web 应用程序中最常用的模板模式。JdbcTemplate 类是 JDBC 核心包中最主要的类。

数据源包 包括一个用于简

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号