Java的Spring框架概述

开发 后端
本文介绍Spring框架是java平台上的一个开源应用框架,以及Spring框架的历史和Spring框架的主要功能。

Spring是java平台上的一个开源应用框架。它的***个版本是由Rod Johnson写出来的。Rod在他的Expert One-On- One Java EE Design and Development(Java企业应用设计与开发的专家一对一)一书中***发布了这个框架。该框架也可以移植到.NET的环境下,

Spring的框架***在2003年6月的Apache 2.0的使用许可中发布。***个具有里程碑意义的版本是2004年3月发布的1.0。2004年9月和2005年3月先后又有重要的版本面世。

Spring 框架本身并没有强制实行任何特别的编程模式。在Java社区里,Spring作为EJB模型之外的另外一个选择甚至是替代品而广为流行。从设计上看,Spring给予了Java程序员许多的自由度,但同时对业界常见的问题也提供了良好的文档和易于使用的方法。

Spring框架的核心功能在任何Java应用中都是适用的。在基于Java企业平台上的web应用中,大量的拓展和改进得以形成。为此,Spring获得了广泛的欢迎,并被许多公司认可为具有战略意义的重要框架。

1. Spring框架的历史

Spring 框架最开始的部分是由Rod Johnson于2000年为伦敦的金融界提供独立咨询业务时写出来的。在《Java企业应用设计与开发的专家一对一》一书中,Rod进一步拓展了他的代码,以阐述“如何让应用程序能以超出当时大众所惯于接受的易用性和稳定性与J2EE平台上的不同组件合作”的观点。

在 2001年,web应用的主流编程模式为Java Servlet API和EJB。两者都是由太阳微系统公司与其他一些开发商和利益团体提出的,并在 Java业界里获得了广泛的共识。那些非Web的应用,比如用户端的或批处理的应用,也可以基于能够提供所需功能的开源或商用工具和项目。

基于***方法并适用于各种应用类型的Spring框架的建立要归功于Rod Johnson。这些想法也在他的书中得以阐述。书发表后,基于读者的要求,源代码在开源使用协议下得以提供。

一批自愿拓展Spring框架的程序开发员组成了团队,2003年2月在Sourceforge上构建了一个项目。在Spring框架上工作了一年之后,这个团队在2004年3月发布了***个版本(1.0)。这个版本之后,Spring框架在Java社区里变得异常流行,部分的要归结于它好于一般水准的文档功能和参考文献,特别是对于一个开源项目而言尤其如此。

但是,Spring框架在2004年也备受批评,有时它也成为热烈争论的主题。Spring的***个版本发布时,许多程序员和领先的设计人员把它看作是远离传统编程模式的一步;特别是对于EJB而言尤其如此。Spring框架的一个重要设计目标就是更容易地与已有的J2EE标准和商用工具整合。在很大程度上,这个目标使得通过受争议的官方委员会控制的规范文档来定义功能变得可有可无。

Spring框架使之前并不受欢迎的技术在短时间内迅速走红,最有名的例子就是反向控制(IOC)。2004年,Spring框架的采用率非常之高;通过推出自身的AOP(面向方向的编程),Spring使AOP整体而言在Java社区里广受欢迎。

2005年,Spring因具有里程碑意义的新的版本的推出,更多功能的添加,从而得到了比2004年更高的采用率。2004年底创建的Spring论坛也对框架的推广而推波助澜。论坛对广大用户而言已经成为最重要的信息和帮助的源泉。

2005 年,Spring框架的开发人员成立了自己的公司,来提供对Spring的商业支持,其中最显著的就是与BEA的合作。2005年12月,***个 Spring会议在迈阿密举行,3天的课程吸引了300名开发人员。2006年6月在安特卫普召开的会议有400多名开发人员。

2. Spring框架的主要功能
◆基于Java Beans的配置管理,采用IOC的原理,特别是对依赖注射技术的使用。这些都用来减少各组件间对实施细则的相互依赖性。
◆一个核心的,全局适用的bean工厂
◆一个一般抽象化的层面来管理数据库间的数据处理
◆建立在框架内的,对Java数据处理API和单独的JDBC数据源的一般性策略。因此,在数据处理支持上对Java企业版本环境的依赖性得以消除
◆和一些可持续性的框架,如Hibernate,JDO,iBATIS和db4o,的整合
◆web应用中的MVC框架,基于核心的Spring功能,支持多种产生视图的技术,包括JSP,FreeMarker,Velocity,Tiles,iText,和POI
◆大量的AOP框架以提供诸如数据处理管理的服务。同IOC的功能一样,目的是提高系统的模块化程度

【编辑推荐】

  1. 让DWR和Spring一起工作
  2. 详细介绍Spring框架
  3. Spring 2.0新功能
  4. 如何集成Struts和Spring
  5. Spring对Quartz任务调度提供支持
责任编辑:佚名 来源: 中国自学编程网
相关推荐

2012-02-23 13:13:00

JavaPlay Framew

2022-06-09 07:27:14

JavaSpring容器

2009-07-22 15:58:52

ASP.NET AJA

2009-07-23 10:52:38

2009-07-22 10:09:59

ASP.NET MVC

2011-07-28 16:52:34

Cocoa 框架 Mac Os

2021-08-24 09:49:15

鸿蒙HarmonyOS应用

2022-06-07 07:58:45

SpringSpring AOP

2009-06-19 14:11:14

Spring框架

2022-05-30 09:32:07

Spring容器

2021-04-21 08:26:16

JavaSpring框架开发

2023-03-03 16:38:28

JavaSpring框架

2012-02-01 14:28:03

Java线程

2016-05-25 10:22:22

开源PythonGUI

2009-06-18 14:26:51

2009-06-19 14:49:43

Spring框架

2022-06-08 08:04:28

Springservicerepository

2009-06-19 11:43:59

Spring MVC框

2023-07-03 07:39:43

Spring框架设计模式

2009-06-19 11:28:45

点赞
收藏

51CTO技术栈公众号