spring揭密学习笔记(1) --spring的由来

时间:2024-01-08 17:57:08

1。spring起源于在EJB暴露出各种严重问题的情况应运而生。

Spring是于2003年兴起的一个轻量级的Java开发框架,

Spring倡导一切从实际出发,以实用的态度来选择适合当前开发场景的解决方案。如果不需要用到
分布式架构,那就没有必要使用EJB之类的“牛刀”。而大多数的J2EE应用也确实不需要在开发初期或
者整个生命周期内引入任何分布式架构。这个时候,采用敏捷、轻量级的开发方案可以收到更好的效果。
Spring所倡导的J2EE轻量级应用解决方案顺应天时,自然得以快速崛起…

没有任何一种解决方案是普遍适用的,只有适用于特定场景的解决方案,脱离具体场景来讨论任何解决方案都是脱离实际的表现。

2.spring框架概述

这些模块组成了Spring生命之树的枝和干,说白了也就是它们组成了Spring框架的核心骨架。抓住了这副骨架,也就抓住了Spring框架的学习主线。

整个Spring框架构建在Core核心模块之上,它是整个框架的基础。

spring揭密学习笔记(1) --spring的由来

3。spring大观园

 Spring Web Flow(SWF)①
Spring Web Flow构建于Spring Web MVC框架之上,旨在简化拥
有复杂用户交互逻辑的Web应用程序的开发。通过Spring Web Flow的扩展支持,可以在基于
Spring Web MVC的Web应用程序中以更简单的方式,创建更加复杂的业务交互流程。同时,
Spring Web Flow还让Ajax和JSF享受一等公民待遇,所有这些将帮助我们更快更好地满足各种
用户的实际需求。
 Spring Web Services②
。Spring Web Services是一套采用契约优先(Contract-First)开发模式,
创建文档驱动(Document-driven)Web服务的Web服务开发框架。它除了对Web服务中涉及的
XML的映射关系管理提供了详尽的支持,还与Spring框架以及其他子项目(比如Spring
Security)紧密结合,帮助以更加灵活高效的方式打造Web服务应用服务。
 Spring Security(原来的Acegi Security)③
。Spring Security由原来的Acegi Security发展而来,
主要为基于Spring框架的企业级应用程序提供安全解决方案。Spring Security 2.0发布后在原来
Acegi Security 1.0的基础上又添加了很多富有吸引力的特性,包括简化配置、面向RESTful请
求的安全认证、与Spring Web Flow和Spring Web Services等项目的良好集成等,可以说为基于
Spring框架的企业级应用提供了一站式的安全方面的解决方案。
 Spring Dynamic Modules for OSGi Service Platforms④
。Spring-DM是融合了Spring框架以及OSGi
两家优良基因后的产物,它集Spring框架各种服务和OSGi的动态性、模块化等特性于一身,可
以帮助我们以一种全新的方式来打造新一代的企业级应用程序。SpringSource Application
Platform应用服务器就是构建在Spring-DM之上的。在企业级应用开发领域,Spring-DM或许会
掀起另一个浪潮。
 Spring Batch⑤
。当意识到企业应用中批处理业务所占的市场份额不容小觑之后,Spring Batch
开始浮出水面,它是构建在Spring框架之上的一套轻量级批处理开发框架,由SpringSource和
埃森哲(Accenture)合力打造。如果你还在为无法找到一款满意的开源批处理开发框架而烦
恼,也许Spring Batch会让你的烦恼顷刻间烟消云散。
 Spring Integration 12 ⑥
。Spring Integration面向创建基于Spring开发框架的企业集成(Enterprise
Integration)解决方案,对Enterprise Integration Patterns⑦
一书中的企业集成模式提供支持。它
在现有Spring框架对企业方案集成的基础上,提出了更高层次的抽象方案,使得业务和集成逻
辑得以松散耦合,很好地分离了企业集成过程中的不同关注点。
 Spring LDAP⑧
。Spring LDAP传承了Spring框架中应用模板方法模式(Template Method Pattern)
 Spring IDE①
。如果读者使用Eclipse平台开发Spring应用程序,结合Spring IDE插件将会使开发
更加得心应手。Spring IDE以Eclipse开发平台为中心,想开发人员之所想,包含了各种实用的
特性,为使用Eclipse创建基于Spring的应用程序,提供了灵活而强大的开发环境。
 Spring Modules②
。为了避免Spring框架对各种其他项目的集成和支持造成Spring框架本身的臃
肿等一系列问题,Spring Modules将那些可选的工具和附加类库剥离出Spring核心框架,纳入
自身进行统一管理。如果在使用Spring框架开发的过程中,发现某些第三方库或工具,在核心
框架中不存在的话,可以求助于Spring Modules提供的各种扩展,包括它对ANT、OSWorkflow、
Apache OJB,以及低版本的iBatis等第三方库的扩展支持。
 Spring JavaConfig③
。Spring框架提供的依赖注入支持,最初是使用XML表述依赖注入关系的。
在Spring 2.5正式提供了基于注解的依赖注入方式之前,Spring JavaConfig就为Spring框架提出
了一套基于注解的依赖注入解决方案,它可以看作是Spring 2.5中基于注解的依赖注入正式方
案之外的另一种选择。
 Spring Rich Client④
。与Eclipse RCP为基于SWT/JFace的GUI应用提供了一套完备的开发框架类
似,Spring也为使用Swing进行GUI开发的应用提供了一套开发框架,这就是Spring Rich Client。
如果你想在开发Swing应用的过程中同时获得Spring框架的各项支持的话,那Spring Rich Client
正是为你而生的。
 Spring .NET⑤
。Spring框架在Java平台上的成功是有目共睹的,这种成功同样渗透到了.NET平
台,Spring .NET就是SpringSource为.NET企业开发平台量身打造的开源应用开发框架。
 Spring BeanDoc⑥
。Spring BeanDoc可以根据Spring应用程序使用的配置文件中的相应信息,创
建对应的文档和图表,帮助我们以更加直观的方式来了解Spring应用程序的整体结构。