也许有很多的开发者曾经被过度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源码将会使你收到意想不到的效果。
分享到:
相关推荐
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 ...
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 数据...
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 数据...
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的安装和配置(部分...
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...
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 带给一个项目的好处: l Spring 可以有效组织你的中间层对象,无论你是否选择使用EJB。Spring 关心那些当你 只选择Struts 或其他为J2EE API 量身定做的框架时被留给你解决的...
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时练习的一个SpringMVC的实例,希望能带给spring初学者和复习springMVC的人帮助,(完整)谢谢。
使用SpringMVC分层开发思维结合SpringData的使用注解增删改查语句,通过导入jar包的方式来完成项目,本来准备用maven,可是有点语法问题就没用了。所以这个独立完成的小项目带给了自己很多的收获,加油。
springboot带给我们的恰恰是“零配置”,"零配置"不等于什么也不配置,只是说相对于传统的ssm框架的xml配置或是注解配置,要少的多。作为常规的来说,一个ssm框架整合,拿maven来说,首先在src/main/resource下加入...
整个秋天,我们都保守这个秘密,享受它带给我们的快乐。而到了今天,我们不得不在这条小径上躲避20个以上的车手。因为,秘密公开了!尽管大家发现了这条奇妙的小径对于我和我的朋友而言不是好事,但是,当您的开放...
spring-boot-codemeetup-talk-rate-app 通过这个简单的应用程序,可以对谈话和演讲者进行评分。 您可以使用mvn spring-boot:run运行此应用程序。... 这个应用程序是由 Spring Boot 带着爱和热情带给你的。
CMSC724Spring2015KrokosSazama CMSC 724 Spring 2015 数据库最终项目代码。 此代码包含一系列针对 Neo4j、OrientDB 和 Titan 数据库的基准测试,所有这些都... 如果您想要它们,我们可以尝试以其他方式将它们带给您。
SnackStore SnackStore-零食铺子是在线零食网购系统。零食铺子,吃货的“天堂”,带给你“吃”的享受! 系统前端采用Jquery EasyUI框架,后台采用Spring MVC框架。编程语言使用JSP。
SpringMVC将服务器处理后的结果返回并带给浏览器
答:单例模式是一种比较常见的设计模式,带给我们以下好处: 1:控制资源的使用 2:控制实例的产生数量 3:让多个不相关的两个线程或进程之间实现通信 为什么要用spring? 答:1、主要将各个框架有效的联系起来...
训练你的大脑什么是训练您的大脑? 如今,很多人浪费了您的互联网时间。 他们使用手机观看电影,tiktok视频,玩平淡无奇的游戏……以放松身心。 我建立这个网站是为了帮助每个人都可以玩游戏或训练他们的大脑,并且...
他能带给用户的不只是一个网店而已, 是一个独立配置,风格清爽,完全控制的商城,例如可以自定义产品分类,产品属性,系统广告,友情链接等,可以参考淘宝商城模式。 LegendShop独创性引入加盟店模式,使得商家与...