1 / 16

J avaEE 程序设计 第14讲 Spring框架的简介

J avaEE 程序设计 第14讲 Spring框架的简介. 课程结构 教学任务 培养目标 教学时间与方式. 课程结构 :. 教学任务 :. 培养目标 : 从总体上了解Spring框架结构,并学会构建Spring的开发环境 。 教学时间与方式 : 讲授,2学时 教学内容: Spring是一个轻量的控制反转和面向截面的容器框架。Spring框架所提供的众多功能这所以能成为一个整体,是由于其建立在IoC的基础上。. 14.1 Spring的产生与发展.

Download Presentation

J avaEE 程序设计 第14讲 Spring框架的简介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JavaEE程序设计第14讲 Spring框架的简介

  2. 课程结构 教学任务 培养目标 教学时间与方式

  3. 课程结构:

  4. 教学任务:

  5. 培养目标: 从总体上了解Spring框架结构,并学会构建Spring的开发环境。 教学时间与方式: 讲授,2学时 教学内容: Spring是一个轻量的控制反转和面向截面的容器框架。Spring框架所提供的众多功能这所以能成为一个整体,是由于其建立在IoC的基础上。

  6. 14.1 Spring的产生与发展 (1)最初来至Rod Jahnson所著的一本很有影响力的书籍《Expert One-on-One J2EE Design and Development》。在这本书中第一次出现了Spring 的核心思想。 (2)Spring从2003年发布以来,已经经历了1.0、1.1、1.2、2.0、2.5五个主要版本. (3)在2006年10月发布的Spring2.0最终版是目前正在使用的正式版。 (4)Spring从2003年出现后,改变了以前以EJB为主要的J2EE技术开发方式,开始出现了without EJB轻量级程序设计。

  7. 14.2 Spring的框架结构 Spring是一个开源框架,它是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许用户选择使用哪一个组件。在其分层结构中由7个定义良好的模块组成,如图n-1。 图1 Spring框架结构图

  8. 14.2 Spring的框架结构 组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合使用,这7个模块的功能如下: (1)Spring核心容器(Core):提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(Ioc)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 (2)Spring上下文(Context):Spring上下文是一个配置文件,Spring框架提供上下文信息。Spring上下文包括服务,例如JNDI、EJB、电子邮件、国际化、校验和高度功能。 (3)Spring AOP:通过配置管理特性,Spring AOP模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理。通过使用AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。 (4)Spring ORM:Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate、iBatis SQL Map 和 TopLink。所有这些都遵从Spring的通用事务和DAO异常层次结构。 (5)Spring Web 模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与Jakarta Struts 的集成。Web模块还简化了处理多部分请求入将请求参数绑定到域对象中。

  9. 14.3 Spring组件包 spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。 除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的 Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件。 (1)spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2)spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及spring- beans.jar文件就可以了。 (3)spring-aop.jar 这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。

  10. 14.3 Spring组件包 (4) spring-context.jar 这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。 (5)spring-dao.jar 这个jar文件包含Spring DAO、Spring Transaction进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。 (6)spring-hibernate.jar 这个jar文件包含Spring对 Hibernate 2及Hibernate 3进行封装的所有类。 (7)spring-jdbc.jar 这个jar文件包含对Spring对JDBC数据访问进行封装的所有类。 (8)spring-orm.jar 这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar包。 (9)spring-remoting.jar 这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。

  11. 14.3 Spring组件包 (10)spring-webmvc.jar 这个jar文件包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 (11)spring-mock.jar 这个jar文件包含Spring一整套mock类来辅助应用的测试。Spring测试套件使用了其中大量mock类,这样测试就更加简单。模拟HttpServletRequest和 HttpServletResponse类在Web应用单元测试是很方便的。 (12)spring-web.jar 这个jar文件包含Web应用开发时,用到Spring 框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 如何选择这些发布包,决定选用哪些发布包其实相当简单。如果你正在构建Web应用并将全程使用Spring,那么最好就使用单个全部的 spring.jar文件;如果你的应用仅仅用到简单的Inversion of Control / Dependency Injection(IoC/DI)容器,那么只需spring-core.jar与spring-beans.jar即可;如果你对发布的大小要求很高,那么就得精挑细选了,只取包含自己所需特性的jar文件了。采用独立的发布包你可以避免包含自己的应用不需要的全部类。当然你可以采用其它的一些工具来设法令整个应用包变小,节省空间的重点在于准确地找出自己所需的Spring依赖类,然后合并所需的类与包就可以了。Eclispe有个插件叫 ClassPath Helper可以帮你找找所依赖的类。

  12. 14.4 Spring开发环境的构建 MyEclipse为我们提供了Spring支持环境的构建向导,利用该向导,只需要在界面中进行参数配置,就会在Web应用程序中添加Spring的支持环境。其加载步骤如下: (1)在MyEclipse平台新建一个项目,如图2:

  13. 14.4 Spring开发环境的构建 (2)添加Spring,如图3:

  14. 14.4 Spring开发环境的构建 (3)设置Spring库:

  15. 14.4 Spring开发环境的构建 (4)设置Spring配置文件:

  16. 14.4 Spring开发环境的构建 (5)加入的Spring包的结果浏览: (6)测试Spring环境 A.新建一个Bean类-HelloWorl.java B.在applicationContext.xml中添加Bean配置 C.运行测试类Test.java

More Related