`

Spring带给我们什么

阅读更多
   也许有很多的开发者曾经被过度EJB的宣传所迷惑,成为EJB的拥趸者,并因此拥有一段痛苦的开发经历。EJB的复杂源于它对所有的企业应用采用统一的标准,它认为所有的企业应用都需要分布式对象、远程事务,因此造就了EJB框架的极度复杂。这种复杂不仅造成陡峭的学习曲线,而且给开发、测试、部署都造成了很多额外的要求和工作量。其中最大的诟病就是难于测试,因为这种测试不能脱离EJB容器,每次测试都需要进行应用部署并启动EJB容器,而部署和启动EJB是一项费时费力的重型操作,其结果是测试工作往往成为开发工作的瓶颈。
   但EJB并非一无是处,它提供了很多可圈可点的服务,如声明事务、透明持久化等。Spring承认EJB中存在优秀的东西,只是它的实现太复杂、要求过严过高,所以Spring在努力提供类似服务的同时尽量简化开发,Spring认为Java EE的开发应该更容易、更简单。在实现这一目标时,Spring一直贯彻并遵守“好的设计优于具体实现,代码应易于测试”这一理念,并最终带给我们一个易于开发、便于测试而又功能齐全的开发框架。概括起来,Spring给我们带来以下的好处:

 方便解耦,简化开发

通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

  AOP编程的支持

通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。

 声明式事务的支持

在Spring中,我们可以从单调烦闷的事务管理代码中解脱从来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

 方便程序的测试

可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。

 方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz等)的直接支持。

 降低Java EE API的使用难度

Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。

  Java源码是经典学习范例

Spring的源码设计精妙、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践的范例。如果想在短时内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果。
9
2
分享到:
评论
4 楼 huang_yong 2012-08-08  
Spring是一个开发框架,它能够帮助我们节约开发时间,把精力放在业务上。
3 楼 KimHo 2012-03-24  
新密牛哥哥 写道
刚学习spring,感觉没有那么神奇

最神奇的,是作者的身份。音乐学博士
2 楼 kimifdw 2012-03-24  
spring确实很神奇
1 楼 新密牛哥哥 2012-03-24  
刚学习spring,感觉没有那么神奇

相关推荐

    Spring4.x企业应用开发 有书签,很方便查找

    1.3 Spring带给我们什么 5 1.4 Spring体系结构 6 1.5 Spring对Java版本的要求 8 1.6 Spring 4.0新特性 8 1.6.1 全面支持Java 8.0 9 1.6.2 核心容器的增强 11 1.6.3 支持用Groovy定义Bean 12 1.6.4 Web的增强 12 ...

    Spring.3.x企业应用开发实战(完整版).part2

    1.3 Spring带给我们什么 1.4 Spring体系结构 1.5 Spring 3.0的新功能 1.5.1 核心API更新到Java 5. 1.5.2 Spring表达式语言 1.5.3 可通过Java类提供IoC配置信息 1.5.4 通用类型转换系统和属性格式化系统 1.5.5 数据...

    Spring3.x企业应用开发实战(完整版) part1

    1.3 Spring带给我们什么 1.4 Spring体系结构 1.5 Spring 3.0的新功能 1.5.1 核心API更新到Java 5. 1.5.2 Spring表达式语言 1.5.3 可通过Java类提供IoC配置信息 1.5.4 通用类型转换系统和属性格式化系统 1.5.5 数据...

    基于JAVA的购物网站(毕业论文)

    2.5.3 Spring带给我们什么 10 2.6 关于Hibernate 11 2.6.1为什么引入hibernate 11 2.6.2使用Hibernate的好处 11 2.6.3 Hibernate的工作原理 12 2.7 Mysql 14 2.7.1 mysql的特点 14 2.7.2 mysql的安装和配置(部分...

    基于JAVA的在线考试系统(毕业论文)

    2.5.3 Spring带给我们什么 8 2.6 关于B/S开发模式 9 2.6.1为什么引入B/S开发模式 9 2.7.1 mysql的特点 9 2.7.2 mysql的安装和配置(部分截图)[12] 10 2.8 Tomcat服务器 12 2.8.1 Tomcat 服务器简介 12 2.8.2 Tomcat...

    Spring攻略(第二版 中文高清版).part1

    10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 10.7.3 工作原理 435 10.8 小结 439 第11章 Grails 441 11.1 获取和安装Grails 441 11.1.1 问题 441 11.1.2 ...

    Spring Framework 概述.rar

    在继续深入前,让我们来看看Spring 带给一个项目的好处: l Spring 可以有效组织你的中间层对象,无论你是否选择使用EJB。Spring 关心那些当你 只选择Struts 或其他为J2EE API 量身定做的框架时被留给你解决的...

    Spring攻略(第二版 中文高清版).part2

    10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 10.7.3 工作原理 435 10.8 小结 439 第11章 Grails 441 11.1 获取和安装Grails 441 11.1.1 问题 441 11.1.2 ...

    spring 2 mvc

    本人在复习spring时练习的一个SpringMVC的实例,希望能带给spring初学者和复习springMVC的人帮助,(完整)谢谢。

    springDM-work.zip

    使用SpringMVC分层开发思维结合SpringData的使用注解增删改查语句,通过导入jar包的方式来完成项目,本来准备用maven,可是有点语法问题就没用了。所以这个独立完成的小项目带给了自己很多的收获,加油。

    springboot mybatis springmvc整合实例.docx

    springboot带给我们的恰恰是“零配置”,"零配置"不等于什么也不配置,只是说相对于传统的ssm框架的xml配置或是注解配置,要少的多。作为常规的来说,一个ssm框架整合,拿maven来说,首先在src/main/resource下加入...

    轻量级开发成功秘诀:露出水面的Spring

    整个秋天,我们都保守这个秘密,享受它带给我们的快乐。而到了今天,我们不得不在这条小径上躲避20个以上的车手。因为,秘密公开了!尽管大家发现了这条奇妙的小径对于我和我的朋友而言不是好事,但是,当您的开放...

    spring-boot-codemeetup-talk-rate-app

    spring-boot-codemeetup-talk-rate-app 通过这个简单的应用程序,可以对谈话和演讲者进行评分。 您可以使用mvn spring-boot:run运行此应用程序。... 这个应用程序是由 Spring Boot 带着爱和热情带给你的。

    CMSC724Spring2015KrokosSazama:CMSC 724 Spring 2015 数据库最终项目代码。 此代码包含一系列针对 Neo4j、OrientDB 和 Titan 数据库的基准测试,所有这些都通过 java 运行。 未包含数据库库

    CMSC724Spring2015KrokosSazama CMSC 724 Spring 2015 数据库最终项目代码。 此代码包含一系列针对 Neo4j、OrientDB 和 Titan 数据库的基准测试,所有这些都... 如果您想要它们,我们可以尝试以其他方式将它们带给您。

    SnackStore:SnackStore-零食铺子是在线零食网购系统。零食铺子,吃货的“天堂”,带给你“吃”的享受! 系统前端采用Jquery EasyUI框架,后台采用Spring MVC框架。编程语言使用JSP

    SnackStore SnackStore-零食铺子是在线零食网购系统。零食铺子,吃货的“天堂”,带给你“吃”的享受! 系统前端采用Jquery EasyUI框架,后台采用Spring MVC框架。编程语言使用JSP。

    SpringMVC ModelAndView-2021-04-11.txt

    SpringMVC将服务器处理后的结果返回并带给浏览器

    java面试题

    答:单例模式是一种比较常见的设计模式,带给我们以下好处: 1:控制资源的使用 2:控制实例的产生数量 3:让多个不相关的两个线程或进程之间实现通信 为什么要用spring? 答:1、主要将各个框架有效的联系起来...

    Train-Your-Brain

    训练你的大脑什么是训练您的大脑? 如今,很多人浪费了您的互联网时间。 他们使用手机观看电影,tiktok视频,玩平淡无奇的游戏……以放松身心。 我建立这个网站是为了帮助每个人都可以玩游戏或训练他们的大脑,并且...

    legendshop2.1源码

    他能带给用户的不只是一个网店而已, 是一个独立配置,风格清爽,完全控制的商城,例如可以自定义产品分类,产品属性,系统广告,友情链接等,可以参考淘宝商城模式。 LegendShop独创性引入加盟店模式,使得商家与...

Global site tag (gtag.js) - Google Analytics