版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章Spring的基础知识本章要点Spring简介Spring框架的系统架构Spring框架的主要技术特性·Spring开发环境Spring简介Spring是时下最流行、最完善的Web应用开源框架,为了解决企业应用开发的复杂性,由Rod
Johnson创建Spring使用JavaBean完成以前只可能由EJB完成的事情,不仅可以完成服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益Spring框架的功能可以用在任何J2EE服务器中,它的核心要点是支持不绑定到特定J2EE服务的可重用业务和数据访问对象,因此,可以在不同J2EE环境(Web或EJB)、独立应用程序、测试环境之间重用Spring的基本概念Spring是一个轻量级的控制反转(IoC)和面向切面AOP的容器框架,在Spring框架下能够实现多
个子框架的组合,这些子框架之间彼此独立,也可以使用其它框架替代,为J2EE应用程序开发提供集成框架Spring是一种无侵入式的高扩展框架,代码中不需要涉及Spring的特定类,即可将其纳入Spring容器进行管理,其核心是提供一种新的机制来管理业务对象及其依赖关系Spring的特点Spring作为实现J2EE的一个全方位应用程序框架,为开发企业级应用提供了一个健壮、高效的解决方案轻量级
从大小与开销两方面而言Spring都是轻量的,完整的
Spring框架可以在一个大小只有1MB多的JAR文件里发布,并且Spring所需的处理开销也是微不足道的控制反转
Spring通过IoC促进了松耦合,容器在对象初始化时主动将依赖传递给它,由容器控制程序之间的关系,而非传统实现中,由程序代码直接操纵,即控制权由应用代码转到了外部容器Spring的主要功能
基于JavaBean的配置管理,采用IoC的原理,特别是对依赖注入技术的使用一个核心的,全局适用的bean工厂一个一般抽象化的层面来管理数据库间的数据处理
建立在框架内的,对Java数据处理API和单独的JDBC数据源的一般性策略一些可持续性的框架,如Hibernate,JDO,iBATIS的整合
web应用中的MVC框架,基于核心的Spring功能,支持多种产生视图的技术,包括JSP,FreeMarker,Velocity,Tiles,iText,和POI大量的AOP框架以提供诸如数据处理管理的服务Spring的组成Spring的jar包到/download下载spring,然后进行解压缩,在解压目录中找到对应的jar文件,拷贝到类路径lib下Spring配置文件默认情况下是applicationContext.xml文件,可以建立很多xml文件Spring
APISpring提供构建应用的所有层的工具,可以使用API通过工具访问数据Spring简介Spring框架的系统架构Spring框架的主要技术特性·Spring开发环境Spring框架的系统架构Spring框架不断地在发展和完善,但基本与核心的部分已经稳定,它是一个分层架构,由7个定义良好的模块组成Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现·Spring
CoreSpring框架最基础的部分,提供Spring框架的基本功能,它提供了依赖注入(Dependency
Injection)特征来实现容器对Bean的管理主要组件是BeanFactory,它是工厂模式的实现,使用
IoC将应用程序的配置和依赖性规范与实际的应用程序代码分开·Spring
Context·Spring上下文使其成为一个框架,它是一个配置文件,向Spring框架提供上下文信息,包括企业服务,例如
JNDI、EJB、电子邮件、国际化、校验和调度功能·Spring
AOP通过配置管理特性,SpringAOP模块直接将面向切面的编程功能集成到了Spring框架中,所以,可以很容易地使Spring框架管理的任何对象支持AOP为基于Spring的应用程序中的对象提供了事务管理服务,通过使用Spring
AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中将元数据编程中引入Spring,使用Spring的元数据支持,可以为源代码增加注释,指示Spring在何处以及如何应用切面函数·Spring
DAO使用JDBC经常导致大量的重复代码,取得连接、创建语句、处理结果集,然后关闭连接。Spring的JDBC和DAO模块抽取了这些重复代码,因此可以保持数据库
访问代码干净简洁,并且可以防止因关闭数据库资源失败而引起的问题JDBC
DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息,面向JDBC的异常遵从通用的DAO异常层次
结构·Spring
ORM·
对象/关系映射集成模块,Spring框架插入了若干个
ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatis
SQL
Map,所有这些都遵从Spring的通用事务和DAO异常层次结构Spring
Web模块Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文提供了一些面向服务支持,例如,实现文件上传的
multipart请求,也提供了Spring和其它Web框架的集成,比如Struts、WebWork简化了处理多部分请求以及将请求参数绑定到域对象的工作·Spring
MVC框架Spring为构建Web应用提供了一个功能全面的MVC框架,通过策略接口,MVC框架成为高度可配置的,容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI虽然Spring可以很容易地与其它MVC框架集成,例如Struts,但Spring的MVC框架使用IoC对控制逻辑和业务对象提供了完全的分离Spring简介Spring框架的系统架构Spring框架的主要技术特性·Spring开发环境Spring框架的主要技术特性采用分层架构设计和实现Spring框架有7个各自相互独立的模块,整个Spring框架本身是一个完整的企业级开发,开发者也可以仅使用其中的任何一个独立的组件Spring框架适用于包括J2SE和J2EE的各种不同的应用开发环境,为开发者提供了极其灵活的开发实现,比如
可以采用容器外的开发和实现,包括单元测试技术来
简化容器内的项目的开发过程,提高应用系统的开发
效率·轻量级的J2EE应用开发框架重量级容器的组件技术中,组件必须实现某个特定的接口并且在某个特定的容器内执行,EJB是重量级容器组件技术的典型代表而轻量级容器的组件技术中的组件可以是简单的Java组件类(Plain
Ordinary
Java
Object,POJO),并且不依赖于特定的J2EE应用服务器容器的产品Spring框架使用基本的JavaBean组件类,所开发的组件不需要其它的外部系统库,目标容器可以使轻量级的,可以部署在像Tomcat等类型的容器中·一种非侵入式的轻量级框架Spring框架,允许在应用系统中自由选择和组装功能模块,并且不强制要求应用中的类必须从Spring的系统
API中的某个类来继承或者实现某个接口提供和其它框架集成的接口,如与Hibernate、Struts的集成等Spring通过应用Java的反射机制,通过动态调用的方式来提供各方面的功能,建立核心组间BeanFactory,并配合使用Spring框架中的BeanWrapper和BeanFactory类组件,实现对象的创建和属性注入·使用控制反转IoC技术的容器依赖查找(DependencyLookup),容器提供回调接口和上下文环境给组件。EJB和ApacheAvalon都使用这种方式依赖注入(Dependency
Injection),组件不做定位查询,只提供普通的Java方法让容器决定依赖关系,这是目前最流行的IoC类型查找定位操作与应用代码完全无关
不依赖于容器的API,可以很容易地在任何容器以外使用应用对象
不需要特殊的接口,绝大多数对象可以做到完全不必依赖容器Spring简介Spring框架的系统架构Spring框架的主要技术特性·Spring开发环境Spring开发环境Spring的开发需要编写xml配置文件组织Bean和切面等,通过配置的方式,可以将程序的各个部分连接起来程序运行时能够创建或者初始化所有的对象关系,因此,程序间的切换,可以只需要修改注释或
xml配置文件,然后运行即可搭建Spring开发环境在项目中使用Spring,需要添加Spring支持,添加的方式有两种:通过Myclipse向导和手工添加创建Spring的运行环境,具体的实现步骤包括创建Web工程,在工程的web.xml文件中添加Spring监听,在新工程中引入库文件以及添加并配置
Spring的核心库文件applicationContext.xml使用Myclipse向导添加Spring支持·打开软件MyEclipse,单击File—New—WebProject·创建一个名为SpringDemo的项目·在工程的web.xml文件中添加Spring监听,配置
web.xml文件,目的是项目启动时自动创建bean工厂并读取spring配置文件,反射对象注入属性<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>·在包资源管理器中,右键单击项目名,在弹出的快捷菜单中选择MyEclipse—Add
SpringCapabilities,打开添加Spring资源对话框·
在增加Spring资源对话框中,选择Spring2.5
勾选5个包,分别为Spring
2.5
AOP
Libraries、Spring
2.5
CoreLibraries、Spring
2.5
Persistence
Core
Libraries、Spring
2.5Persistence
JDBC
Libraries和Spring
2.5
Web
Libraries
勾选“Copy
checked
Libraries
contents
to
project
folder(TLDsalways
copies)”·单击Next·完成Spring文件的添加后,向导在src目录中新建了Spring的配置文件applicationContext.xmlxmlns:xsi="htt<?xml
version="1.0"
encoding="UTF-8"?><beansxmlns="/schema/beans"p:///2001/XMLSchema-instance"
xmlns:p="/schema/p"xsi:schemaLocation="http:///schema/beans
/schema/beans/spring-beans-2.5.xsd"></beans>手工方式添加Spring支持将相应的jar包spring.jar、spring-2.5.5.jar、slf4jlog4j12-1.5.0jar、slf4j
log4j支持包、log4j-1.2.15.jar、slf4j-api-1.5.0.jar等添加到项目的
WebRoot/WEB-INF/lib目录下在项目文件的src目录下创建Spring的配置文件
applicationContext.xml编写HelloWorld类·在项目SpringDemo中,新建HelloWorld类,包名为com.SpringDemopackage
com.SpringDemo;public
class
HelloWorld
{public
void
show(){System.out.println("欢迎Spring!");}}配置applicationContext.xml文件·在文件applicationContext.xml中,添加一个<bean>节点<bean
id="hw"
class="com.SpringDemo.HelloWorld"></bean>·class的属性由“包名+类名”的方式组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合作办学项目协议范本
- 重型吊车租赁合同范本
- 展览活动参展协议书模板
- 2024装修大包合同模板
- 2024年离婚协议书范本简易
- 新服装定制合同样本
- 2.2 创新永无止境导学案 2024-2025学年统编版道德与法治九年级上册
- 债券认购与债权转让合同实务
- 门店租赁合同协议书
- 上海市超市洗涤产品流通安全协议
- 行政服务中心窗口工作人员手册
- 最新患者用药情况监测
- 试桩施工方案 (完整版)
- ESTIC-AU40使用说明书(中文100版)(共138页)
- 河北省2012土建定额说明及计算规则(含定额总说明)解读
- 中工商计算公式汇总.doc
- 深圳市建筑装饰工程消耗量标准(第三版)2003
- 《初中英语课堂教学学困生转化个案研究》开题报告
- 钢筋桁架楼承板施工方案
- 恒温箱PLC控制系统毕业设计
- 176033山西《装饰工程预算定额》定额说明及计算规则
评论
0/150
提交评论