为 WebSphere Application Server Community Edition 开发 Spring 应用程序: 第 2 部分:使用 Spring 进行数据库连接管理
来源:百度文库 编辑:神马文学网 时间:2024/10/02 19:03:14
简介: 在本系列的第 1 部分,我们开发了联系人管理示例应用程序(允许添加、删除和修改联系人),并将其部署在 IBM? WebSphere? ApplicationServer Community Edition(也称为 Community Edition)上。本文将说明如何使用 Spring的连接管理基础设施。您将了解如何开发 ContactDAOJDBC.java
类,如何使用 Spring 自己的连接管理实现(以及颇受欢迎的连接池开源实现),以及如何方便地使用 WebSphere Application Server Community Edition 连接池实现。
查看本系列更多内容
标记本文!
发布日期: 2007 年 9 月 03 日
级别: 中级
建议: 0 (添加评论)
开始之前
Spring 是 Spring Framework 网站提供的分层式 Java? Platform Enterprise Edition (Java EE) 应用程序框架(有关链接,请参见参考资料)。Rod Johnson 在他的著名书籍 Expert one-on-one J2EE design and development 中将其开发为代码。目标是通过提供大多数 Java EE 应用程序所需的基础结构代码使 Java EE 项目开发变得更容易。您可以将 Spring 作为最佳实践实现池。
关于本教程
在本系列的第 1 部分,我们开发了一个简单的 Spring 模型-视图-控制器(Model-View-Controller,MVC)应用程序,并了解了一些Jakarta Commons Logging 相关的问题(在 WebSphere Application Server CommunityEdition 中部署 Spring 应用程序时可能会遇到这些问题)。
本教程是本系列的第 2 部分,将继续第 1 部分的工作。如果您已阅读并完成了第 1部分的操作,则应该已有了一个联系人管理示例应用程序,可以在其中添加、删除和修改联系人。出于演示目的,使用了 HashMap来存储联系人记录,不过在实际中并不会真的使用 HashMap。在实际的应用程序中,将使用关系数据库管理系统(RelationalDataBase Management System,RDBMS)来存储联系人信息,本教程将说明如何更改联系人管理应用程序,以使用RDBMS,从而准备好投入实际使用。
企业应用程序的一个常见需求是,需要有效地管理数据库连接。Spring可以帮助您解决这个问题,它提供了反向控制(Inversion of Control,IoC)基础设施,允许在依赖代码中注入连接管理实现。IoC基础设施是一项重要的功能,因为它支持您转而使用更为高效的连接管理实现(甚至项目开发的稍后阶段也能这样做)。使用 Sping的另一个优势在于,它提供了大量现成的 Bean,这些 Bean 将负责进行连接管理中的所有底层管道任务。
本教程的重点是使用 Spring 的连接管理基础设施。首先将了解如何开发 ContactDAOJDBC.java
类,该类与 RDBMS 进行通信,以存储联系人信息。然后我们将了解如何使用 Spring 自己的连接管理实现以及如何使用颇受欢迎的连接池开源实现(如 Apache Database Connection Pool (DBCP) 或 C3P0 ComboPooledDataSource
实现)。最后,我们将了解可如何方便地通过 Spring 使用 Community Edition 的连接池实现。
回页首
先决条件
要按照本教程中的说明进行操作,您应该对以下内容有基本的了解:
- 面向对象的编程
- Java EE 术语
- XML 语义
- JavaServer Pages (JSP) 标记、标记库和标记库描述符
本教程假设您是经验丰富的 Java EE 开发人员,并熟悉 Spring Framework 基础知识。另外还需要了解 MVC,但这不是必需的。尽管不需要高级知识,但是您应该熟悉如何使用 Spring BeanFactory
和 Spring 面向方面的编程(Aspect-Oriented Programming,AOP)。(如果您是 Spring Framework 新手,则 Arun Chhatpar 在 developerWorks 上发表的“Apache Geronimo 和 Spring 框架”系列文章是获得入门知识的优秀作品。)
回页首
系统要求
您需要下载几个必要的应用程序,才能按照本教程的说明进行操作并使用示例代码,其中包括:
- JDK 1.4.2——Community Edition 目前使用 Sun Microsystems 实现 Remote Method Invocation (RMI) 的 Object Request Broker (ORB),所以需要 Sun 的 JDK。在本教程中,您将使用 JDK 1.4.2 来测试示例代码。
- WebSphere Application Server Community Edition——本文中的示例代码是使用版本 1.1 测试的。如果您决定使用其他版本的 WebSphere Application Server Community Edition,则可能必须在 geronimo-web.xml 文件中进行某些更改。
- Spring Framework——将此压缩文件与所有依赖项一起使用。注意:如果您没有下载带所有依赖项的 Spring 版本,那么必须手动下载其他必需的 JAR 文件。开发本文中的示例代码时,使用的是 Spring Framework 2.0 版。
- Eclipse Web Tools Platform (WTP) 1.0.1——此开源项目为创建 servlets、JavaServer Pages (JSP) 组件和 Enterprise JavaBeans (EJB) 提供了方便您使用的向导,从而使 Java EE 开发变得更简单。它还为 JSP 和 XML 提供编辑器。请浏览参考资料部分,获得更多关于如何使用此工具的信息。
- WebSphere Application Server Community Edition server adapter(以 前称为 WebSphere Application Server Community Edition 的 Eclipse 插件)——此服务器适配器允许您在 Eclipse 内部与 Community Edition 交互。您可以执行一些操作,如启动或停止服务器,或以正常或调试模式进行启动。服务器适配器还允许您在服务器上运行或调试项目,只需右键单击一个项目并选 择 Run on Server 或 Debug on Server即可。我认为此适配器解决了开源项目中的一个最大难题,这是其他开发工具不能解决的。
建 议您将 Eclipse Web Tools Platform 与 Community Edition 的 Eclipse 插件结合使用,并将其作为您的开发环境,但这不是必需的。您可以选用另一个编辑器。如果使用其他编辑器,您可以使用本示例附带的 Ant 构建脚本来构建源代码。
- Apache Derby ——本教程中所示的应用程序使用 Apache Derby 作为 RDBMS,因为此数据库系统是免费的开源数据库。不过,并不要求必须使用 Apache Derby,您可以选择任意数据库。如果您选择其他数据库,则应该在此数据库内创建 CONTACT 表(如清单 1 中所示)。必须使用特定于您的数据库的 JDBC 参数。请按照以下步骤进行操作,以设置 Apache Derby:
- 转到 Apache Derby download 页,并下载最新的二进制版本。本教程中的示例代码均使用 Derby 的 10.2.2.0 版进行了测试。
- 下载此压缩文件后,将其提取到文件夹中(例如,c:\software\derby)并设置 DERBY_HOME 环境变量,使其指向此文件夹。
- 采用网络模式使用 Apache Derby。但由于 WebSphere Application Server Community Edition 已经使用了 Derby 网络服务器的缺省端口 (1572),因此需要使用其他端口。转到
/bin 文件夹,并发出命令 java org.apache.derby.drda.NetworkServerControl -p 1088
。Derby 网络服务器将在端口 1088 上启动。 - 使用
ij.bat
命令创建测试数据库。首先运行此命令,以打开 ij 控制台。 - 在 ij 控制台内,执行命令
connect "jdbc:derby://localhost:1088/ContactDB:create =true;user=dbadmin;password=not2tell";
。这将在 Apache Derby 中创建数据库 ContactDB。 - 在 ij 控制台中运行 DDL,以在 ContactDB 数据库中创建 CONTACT 表(请参见清单 1)。
清单 1. 用于创建 CONTACT 表的 DDL 清单
CREATE TABLE CONTACT (CONTACTID INTEGER NOT NULL, FIRSTNAME VARCHAR(300), LASTNAME VARCHAR(300), EMAIL VARCHAR(300));
- 示例数据库现在已经准备好,并在其中创建了 CONTACT 表。接下来就可以开始开发实际的示例代码了!
1 页,共 8 |后一页
建议
0 条评论 | 添加评论举报不良信息
快来添加第一条评论
添加评论
回页首
商标 | My developerWorks 使用条款与条件
static.content.url=http://www.ibm.com/developerworks/js/artrating/SITE_ID=10Zone=WebSphere, Open sourceArticleID=252858TutorialTitle=为 WebSphere Application Server Community Edition 开发 Spring 应用程序: 第 2 部分:使用 Spring 进行数据库连接管理publish-date=09032007author1-email=sunilpatil@in.ibm.comauthor1-email-cc=url=http://www.ibm.com/developerworks/cn/education/websphere/0704_patil/index.html