Spring框架
- 格式:ppt
- 大小:755.00 KB
- 文档页数:44


、
.开发研究与设计技术...!.’. 本栏目责任编辑:谢媛媛
Spring框架的分析研究
陈鑫
(桂林工学院,计算机系,广西桂林541004)
摘要:传统的J2EE开发过程过于复杂,而Spring是没有EJB的轻量级开发框架,它能解决EJB过于复杂的问题,同时能提高软件开
发的效率和质量。对Spring框架的结构和技术特性进行了分析和研究,并通过Struts+Spring+Hibemate构建了一个简单的电子商务平台. 展示了Spring在web开发中的技术优势
关键词:Spring框架;EIB;电子商务平台;I2EE
中图分类号:TP311 文献标识码:A 文章编号:1009—3044(2007)13—30108—03
The Study and Analysis of the Spring Framework
CHENXin
(department of computer ofGnilin University ofTechnology,Guilin 541004,China)
Abstract:Traditional J2EE development process is too complicated.Spring without EJB is a lightweight ftalTleWork.It can solve the prob—
lem that che EJB is too complicated and improve the efficiency of software development and quality.This paper analyzes the structure of the
spring framework and technical characteristics It demostrates that spring is technological superiority in the development of web technology from
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为
J2EE 应用程序开发提供集成的框架。
在这篇由三部分组成的 Spring 系列 的第 1 部分中,我将介绍 Spring 框架。我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring 面向方面编程(AOP)和控制反转 (IOC) 容器。接着将使用几个示例演示 IOC 容器在典型应用程序用例场景中的应用情况。这些示例还将成为本系列后面部分进行的展开式讨论的基础,在本文的后面部分,将介绍 Spring 框架通过 Spring AOP 实现 AOP 构造的方式。
请参阅 下载,下载 Spring 框架和 Apache Ant,运行本系列的示例应用程序需要它们。
Spring 框架
Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 1 所示。
图 1. Spring 框架的 7 个模块
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC)
模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
由于软件开发的复杂性而创建了Spring框架。 Spring使用基本的JavaBeans完成以前只能由EJB完成的事情。 但是,Spring的使用不仅限于服务器端开发。 从简单性,可测试性和松散耦合的角度来看,大多数Java应用程序都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供更多的企业应用程序功能
◆范围:任何Java应用程序
Spring是控制(IoC)和面向方面(AOP)容器框架的轻量级反转。
要谈Spring的历史,就要先谈J2EE。J2EE应用程序的广泛实现是在1999年和2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是在实践中并没有获得绝对的成功,因为开发效率,开发难度和实际的性能都令人失望。
曾经使用过EJB开发JAVA EE应用的人,一定知道,在EJB开始的学习和应用非常的艰苦,很多东西都不能一下子就很容易的理解。EJB要严格地实现各种不同类型的接口,类似的或者重复的代码大量存在。而配置也是复杂和单调,同样使用JNDI进行对象查找的代码也是单调而枯燥。虽然有一些开发工作随着xdoclet的出现,而有所缓解,但是学习EJB的高昂代价,和极低的开发效率,极高的资源消耗,都造成了EJB的使用困难。而Spring出现的初衷就是为了解决类似的这些问题。
Spring的一个最大的目的就是使JAVA EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Ordinary Java Object)对象提供企业级的服务。
Spring的形成,最初来自Rod Jahnson所著的一本很有影响力的书籍《Expert One-on-One J2EE Design and Development》,就是在这本书中第一次出现了Spring的一些核心思想,该书出版于2002年。另外一本书《Expert One-on-One J2EE Development without
Spring核心框架基础
历史:Spring出自于Rod Johnson的大作,源于他在2002年所著Expert One-on-One J2EE
Design and Development一书的基础代码。2003年2月,他把所描述的框架在公开了源码,后来这个框架就成为今天我们所学习的著名框架Spring
简介:Spring是一种多层的J2EE应用程序框架,其核心就是提供一种新的机制管理业务对象及其依赖关系。例如IOC(控制反转),AOP(面向切面编程)
Spring中的七个模块
Spring中是术语:
轻量级:是针对于重量级(EJB)来说的,Spring的核心包不到1M大小,而使用Spring的核心包所需的资源也很小,所以可以再小型设别中使用
入侵性:所有的框架都是提供大量的功能供用户区使用,从而简化开发时间和成本,但由于大量的使用了框架的API,使应用程序和框架发生了大量的依赖性,无法从框架中独立出来,更加无法使程序组件在其他程序中使用,而spring目标是一个非入侵式的服务框架
持久层的支持:Spring提供了对持久层的整合,对JDBC的使用加以封装简化,提供事物功能,对ORM框架封装,并且提供更简单的接口
IOC:控制反转。在java开发中,IOC意味着将你设计好的类交给系统区控制,而不是在你的类内部控制
DI:依赖注入。其实DI和IOC是同一个概念。具体含义是:当某个角色需要另一个角色的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring里,创建被调用者的工作不在由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由spring容器来完成,然后注入给调用者,因此也称为依赖注入。
依赖注入的三种方式: 1、 接口注入
2、 设置注入:设置注入是指通过setter方法传入被调用者的实例。这种注入方式简单、直观,因而在spring的依赖注入里大量使用