频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

1.1.1 Spring模块

作者: [美]Craig Walls Ryan Breidenbach著/毕庆红/王军等译 出处:人民邮电出版社  2008-07-25 13:33    砖    好    评论   进入论坛
阅读提示:《Spring in Action(第二版)中文版》第1章开始Spring之旅,这一章主要讲述的是Spring核心模块、解耦应用对象和使用AOP管理交叉问题,本小节为大家介绍Spring模块。

1.1.1  Spring模块

Spring框架由7个模块组成(如图1.1所示)。从整体上看,这7个模块为你提供了开发企业级应用所需要的一切。但你不必将应用完全建立在Spring框架之上,你可以自由地选择适合自己应用的模块,而不使用其他模块。事实上,Spring提供了与其他框架和库的集成点,因此你可以自由使用。

就像你看到的,Spring的所有模块都是建立在核心容器之上的。容器规定如何创建、配置和管理Bean,以及很多Spring的具体细节。当你配置应用的时候,你就隐式地使用了这些类。作为一名开发人员,你或许更关注那些提供服务的模块。这些模块提供了搭建你的应用所需要的服务,如AOP和持久层。

下面将逐个讨论图1.1中所列出的Spring模块。

 

图1-1  Spring由几个位于核心容器之上的几个模块组成。这种模块特性使得用户可以根据需要灵活使用Spring框架

核心容器

图1.1的最底层是核心容器。Spring核心容器为Spring框架提供了基础功能。在这个模块中你会找到BeanFactory这个类,它是最基本的Spring容器和Spring的DI所依赖的基础。

从第2章开始,贯穿整本书,当遇到使用DI来装配Bean的时候,我们都会讨论核心模块(任何Spring应用的核心)。

Application Context(上下文)模块

Spring的应用上下文建立在核心容器之上。如果说核心模块中的BeanFactory使Spring成为容器的话,那么,上下文模块就是使Spring成为框架的原因。这个模块扩展了BeanFactory,添加了对I18N(国际化)、应用生命周期事件以及验证的支持。

另外,这个模块提供了很多企业级服务,如电子邮件服务、JNDI访问、EJB集成、远程调用以及定时服务,并且支持与模板框架(如Velocity和FreeMarker)的集成。

Spring的AOP模块

在AOP模块中,Spring对面向切面编程提供了丰富的支持。这个模块是为Spring应用开发切面的基础。与DI一样,AOP支持应用对象之间的松耦合。利用AOP,应用程序所关心的与其应用的对象关系不大。

Spring的AOP模块提供了多种方法来建立切面,包括基于AOP Alliance接口(http://aopalliance.sf.net)的切面的建立和对AspectJ的支持。第4章将深入讨论Spring的AOP支持。

JDBC抽象及DAO模块

编写JDBC代码时总是要写一些样板式的代码,如:获得连接、创建语句、处理结果、最后关闭连接。Spring的JDBC和DAO模块把这些样板式的代码抽象出来,让你的数据库代码变得简单明了,也可以避免因为释放数据库资源失败而引起的问题。这个模块还建立了一个容易理解的数据库异常层,它建立在各种数据库错误信息之上。以后就不用再去解释那些隐晦专有的SQL错误信息了。

另外,这个模块利用Spring的AOP模块为Spring应用中的对象提供事务管理服务。

在第5章中讨论Spring数据访问时,我们将看到Spring的基于模板的JDBC抽象层是如何简化JDBC代码的。

ORM映射集成模块

Spring为那些喜欢使用ORM(object-relational mapping)工具的开发人员提供了ORM模块。Spring的ORM支持建立在DAO支持之上,并可以方便地构建适合几个ORM解决方案的DAO。Spring不想实现自己的ORM解决方案,但是它为许多流行的ORM框架做了钩子程序,包括Hibernate、Java Persistence API、JDO和iBATIS SQL映射。Spring的事务管理支持所有这些ORM框架以及JDBC。

Spring除了提供了基于模板的JDBC抽象,还提供了类似的ORM抽象和永久的框架,这些内容将在第5章讨论。

JMX(Java管理扩展)

如何方便地展现Java应用的内在工作流程以便于管理,这是构建应用产品准备的关键部分。Spring的JMX模块可以方便地展现应用Bean,就像JMX Mbeans。这样一来,就可以监控和重新配置运行中的应用程序。

我们将在第12章详细讨论Spring的JMX支持。

Java EE连接器API(JCA)

企业级应用包括运行在不同服务器和平台上的应用。集成这些应用程序需要一些技巧。Java EE连接API(也称为JCA)提供了一种标准的方法来集成Java应用和多种企业信息系统,包括主框架和数据库。

JCA很多方面与JDBC一样,唯一的区别是JDBC主要是针对数据库访问,而JCA更多的是关注连接遗留系统的通用API。Spring对JCA的支持类似于其对JDBC的支持,提取出JCA的样本代码插入到模板中。

Spring MVC框架

Spring为Web应用提供了全功能的MVC(Model/View/Controller)框架,比如用户界面与应用逻辑是分离的。Java有很多类MVC框架可用选择,例如Apache Struts、JSF、WebWork和Tapestry。

虽然Spring可以集成多种其他MVC框架,但是Spring也提供了自己的MVC框架,它改进了Spring在应用Web层的松耦合技术。

在第13章和第14章,我们将深入讨论Spring MVC。

Spring Portlet MVC

多数Web应用都是基于页面的——也就是说,每个对应用的请求都会现实一个完全新的页面。每个页面都呈现特定的信息或特定的表单来提示用户。基于portlet的应用在一个Web页面上聚集多个功能,这样在一个页面中一次就可以提供多个应用。

如果想创建基于portlet的应用,最好是利用Spring的Portlet MVC框架。Spring Portlet MVC建立在Spring MVC基础上,提供了一套控制器来支持Java portlet API。

Spring的Web模块

当装载Spring应用上下文时,Spring MVC和Spring Portlet MVC需要一些特殊的考虑。Spring的Web模块提供了支持Spring MVC和Spring Portlet MVC的类。

Web模块还提供了几个支持面向Web的任务,例如多部分文件上传和编程绑定到业务对象的请求参数。它还包含了对Apache Struts和Java Server Faces(JSF)的集成支持。

远程调用

所有应用都不是孤立的。通常,一个应用必须利用另一个应用的某些功能。当通过网络来访问其他应用时,某些形式的远程调用将被用于通讯。

Spring的远程调用允许将Java对象的某些功能展现为远程对象。如果需要远程访问对象,远程调用模块会使编写远程对象很简单,就像它们是本地POJO一样。有一些远程调用选项,包括RMI(Remote Method Invocation,远程方法调用)、Hessian、Burlap、JAX-RPC和Spring自己的HTTP Invoker。

在第8章中,我们将详细讨论Spring中的多种远程调用选项。

Java消息服务(JMS)

远程调用的下面是取决于网络可靠性和通讯双方的可用性。基于消息的通讯是可靠的,并且即使在网络和端点不可用时,也可以保证消息的传递。

Spring的Java消息服务(Java Message Service)模块可以将消息发送到JMS队列和主题。同时,这个模块还能帮助创建消息驱动的POJO,它能够处理异步消息。在第10章,我们将详细讨论Spring的消息发送机制。

虽然Spring包括很多内容,但是最重要的是要认识到Spring尽可能避免了重新开发所有事情。Spring倾向于保留现有的API和框架。例如,在后面的第5章中,我们可以看到Spring没有实现自己的永久框架——相反,它集成了几个功能强大的框架,包括简单的JDBC、iBATIS、Hibernate和JPA。

现在,你知道Spring的概况了,下面我们来看看DI和AOP是如何工作的。让我们在Spring容器中编写第一个Bean开始吧。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
专题
Java实用开发全集
Java类的基础教程专题
Java发展动态专题
Spring开源框架技术
Java编程开发手册
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
Java实用开发全集
Java实用开发全集
企业级Web2.0 你准备好了么?
企业级Web2.0 你准备好了么?
WebSphere 实现SOA的利器
WebSphere 实现SOA的利器
· WebSphere 实现SOA的利..
· SOA 面向服务架构
· 软件工程与管理
· SQL Server入门到精通
· 虚拟化的“赤壁之战”
· Windows Server 2008专..
· 庆祝“世界系统管理员..
· 浏览器的战国时代
· CCNA认证考试Pass必备
· 无线网络环境
· 无线路由器故障处理
· 解析35岁技术人的价值..
· 无线重中之重:安全问题
· 无线局域网基本知识
· 家庭无线局域网
· 华为七千人主动辞职规..
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· 三层交换技术专题
· SQL Server入门到精通
· 无线网状网(MESH)
· Windows远程桌面应用
· C#技术开发指南
· Windows集群服务应用
· C#技术开发指南
· 文档格式标准开战 OOXM..
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
· 了解统一威胁管理(UTM)..
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· C#技术开发指南
· 三层交换技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 解析35岁技术人的价值..
· 反垃圾邮件技术应用
· 访问控制列表(ACL)介绍