第11章 Spring基础_第1页
第11章 Spring基础_第2页
第11章 Spring基础_第3页
第11章 Spring基础_第4页
第11章 Spring基础_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第11章章 Spring基础基础11.1 Spring基本概念11.2 Spring下载及配置11.3 Spring MVC技术11.4 Spring MVC实例11.5 本章小结Spring框架为应用程序的开发提供了全面的基础设施支持,但未强制使用任何特定编程模式。Spring框架不限于服务器端的开发,其核心功能适用于任何Java应用。1.Spring1.Spring的主要特征有如下几点:的主要特征有如下几点:控制反转(Inversion of Control)、面向切面编程(AOP)、日志2. Spring2. Spring框架框架(1)核心容器(Core Container)(2)数据

2、访问/集成模块(Data Access/Integration)(3)Web模块(MVC/Remoting)(4)AOP和Instrumentation模块提供了一个符合AOP联盟标准的面向切面编程的实现,使用该模块可以定义方法拦截器和切点,将代码按功能进行分离,降低它们之间的耦合性。(5)Aspects模块提供了对AspectJ的集成支持。(6)Instrumentation模块提供了对class instrumentation的支持和classloader实现。(7)Test模块支持使用JUnit和TestNG对Spring组件进行测试,它提供一致的ApplicationContexts并

3、缓存这些上下文。11.1 Spring基本概念基本概念11.2.1 下载Spring开发包11.2.2 Spring开发包准备11.2.3 在项目中配置Spring11.2.4 学生信息系统实例11.2.5 Spring的IoC容器11.2 Spring下载及下载及配置配置目前Spring框架的开发包的最新release是4.2.4。读者可以去Spring官网(http:/spring.io)下载源代码进行编译,官网建议采用Maven或Gradle进行项目编译。为方便起见,建议直接下载编译好的二进制压缩包,下载地址为/libs-releas

4、e-local/org/springframework/spring/。1 1. . 下载下载Spring Spring frameworkframework2. 2.下载下载commons-loggingcommons-logging包包11.2.1 下载下载Spring开发包开发包 在下载完Spring框架开发所需要的开发包后,下面介绍Spring框架的配置。(1)将下载的压缩包解压,可以看到如图11.4所示目录。其余步骤见书11.2.2 Spring开发包开发包准备准备图图11.4 Spring开发包目录开发包目录(1)打开Eclipse,新建一个Java Project工程,名为Spr

5、ingDemo,如图11.7所示。 其余步骤见书11.2.3 在项目中配置在项目中配置Spring图图11.7 新建新建SpringDemo工程工程 Spring使用了JavaBean来配置应用程序。简单说,Java Bean指的就是类中包含getter和setter方法的Java类。下面通过一个实例来进一步的熟悉Spring框架程序的构建过程。(1)在SpringDemo工程的src目录下创建com.bean包,如图11.18所示。其余步骤见书11.2.4 学生信息系统学生信息系统实例实例图图11.18 创建包创建包依赖注入也称作控制反转,英文简写为IoC。IoC容器为管理对象之间的依赖关系

6、提供了基础功能。Spring为我们提供了两种容器:BeanFactory和ApplicationContext。1BeanFactory及其工作原理2BeanFactory接口包含如下的基本方法11.2.5 Spring的的IoC容器容器11.3.1 MVC的基本思想11.3.2 Spring MVC工作流程11.3.3 Spring MVC框架的特点11.3.4 分发器(DispatcherServlet)11.3.5 控制器11.3.6 处理器映射11.3.7 视图解析器11.3.8 异常处理11.3 Spring MVC技术技术1 1MVCMVC设计设计思想思想MVC指的是把一个应用按照

7、Model、View和Controller的方式分成三层模型层、视图层和控制层。2 2MVCMVC的的Model 1Model 1和和Model 2Model 2架构架构Model1基于JSP。在Model1模式下,一个Web应用几乎全部由JSP页面构成。这些JSP从HTTP Request中获取所需的数据,然后进行业务处理,并通过Response将结果返回给浏览器11.3.1 MVC的基本的基本思想思想Spring MVC框架是结构清晰的Model 2实现。它的Action被称为Controller,Controller接收request, response参数,然后返回ModelAndVi

8、ew。但在其他的Web Framework中,Action返回值一般都只是一个View Name;Model则需要通过其他的途径传递上去。在Spring MVC处理请求的过程中,Spring MVC框架的众多组件各负其责、分工合作。11.3.2 Spring MVC工作流程工作流程Spring MVC框架具有以下特点:(1)Spring MVC框架的角色划分非常清晰。(2)Spring MVC框架具有强大而直接的配置方式。(3)Spring MVC框架具有良好的适应性。(4)Spring MVC框架具有可重用的业务代码。(5)Spring MVC框架具有可定制的绑定(binding)和验证(v

9、alidation)功能。(6)Spring MVC框架具有可定制的处理器映射(handler mapping)和视图解析(view resolution)功能。(7)Spring MVC框架具有可定制的本地化和主题解析。(8)Spring MVC框架具有简单而强大的标签库。这种方式能够有效地避免在HTML生成时的开销。11.3.3 Spring MVC框架的特点框架的特点在Spring中,DispatcherServlet是一个能将请求分发到控制器的Servlet,这个Servlet同时也提供其他一些功能来辅助Web应用的开发。DispatcherServlet和Spring的IoC完全集成

10、,因此可通过它来使用Spring的很多功能。DispatcherServlet是Spring MVC 的入口。和其他servlet一样,DispatcherServlet需要在web.xml文件中进行定义11.3.4 分发器(分发器(DispatcherServlet)Spring MVC框架的控制器定义了应用的行为,用于解释用户输入,并将其转换成合理的模型数据,从而进一步地给用户展示视图。Spring控制器架构的基础是org.springframework.mvc.Controller接口11.3.5 控制器控制器在Spring MVC中的控制器角色由处理器映射承担。处理器映射(Handle

11、r Mapping)把Web请求映射到正确的Handler上去处理。Spring内置了很多映射处理器,也可以自定义映射处理器。最常用的处理器映射有两个:BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping,这两个处理器映射都是继承自AbstractHandlerMapping类。11.3.6 处理器处理器映射映射像所有Web应用的MVC框架一样,Spring提供了视图解析器以解析ModelAndView模型数据到特定的视图上,这使得在浏览器中显示模型数据时并不需要局限于某一种具体的视图技术。Spring处理视图的两个重要的类是ViewResolve

12、r和View。ViewResolver是通过视图名称来解析视图的,它提供了从视图名称到实际视图的映射。View处理请求的准备工作,并将该请求提交给某种具体的视图技术。11.3.7 视图解析视图解析器器Spring MVC中提供了处理异常的解析器(HandlerExceptionResolver),能够帮助控制器处理所发生的异常。当控制器处理请求时,如果发生异常,则将发生的异常交由HandlerExceptionResolver来集中处理。HandlerExceptionResolverder可以提供异常产生时控制器的运行状态。除了HandlerExceptionResolver,还可以使用Sp

13、ring内置的解析器SimpleMappingExceptionResolver,这个解析器能够获取任何抛出异常的类名,并将它映射到视图名。11.3.8 异常处理异常处理本节通过一个例子演示如何使用Spring MVC来开发一个简单的项目,运行该项目会在浏览器中显示“Spring MVC Hello World”字样。开发环境仍然是Eclipse,搭配Spring 4.2.4。步骤如下:(1)打开Eclipse,选择File|New|Project,然后选择Dynamic Web Project,新建一个动态Web项目,项目名称为SpringMVC。新建一个用户库,名叫SpringMVC,将所需的JAR包添加到项目的WebContentWEB-INFlib目录下,Web App Libraries将自动包含lib下的jar包。如图11.23所示。 其余步骤见书。11.4 S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论