也许有很多的开发者曾经被过度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带给我们什么** - **依赖注入(DI)**:简化了组件间的依赖关系管理。 - **面向切面编程(AOP)**:增强了代码的模块化,使开发者能够分离关注点。 - **统一的数据访问抽象层**:简化了数据访问层...
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 数据...
《深入剖析Spring源码:揭示框架的...无论是IoC的实现、AOP的灵活运用,还是MVC的优雅设计,都是Spring带给我们的宝贵财富。对于每一个Java开发者来说,掌握Spring的源码分析能力,无疑会提升个人的技术深度和广度。
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的主要知识点。 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一是依赖注入,它允许你通过容器来管理对象及其依赖关系,而不是在代码中硬编码这些依赖。这样可以提高...
拍卖行系统的主要目的是让用户可以更方便地连接人、设备和场景,使用户能以更高科技的方式使用产品,体验高科技时代带给人们的方便。同时,拍卖行系统也让用户体会到与传统产品不同的体验风格。 知识点2: Spring ...
SpringActionMenu就是这样一款开源项目,它为开发者提供了一种新颖、动态的菜单展示方式,通过模拟弹簧的物理效果,带给用户独特而有趣的操作体验。 首先,SpringActionMenu的核心特性在于其弹簧动画效果。这个效果...
文中提到的"last Spring Festival",作者度过了一个快乐的春节,享用了大餐,收到了红包,这些都是春节带给人们的欢乐和温馨。在这个特殊的日子里,人们会贴春联、放鞭炮、看舞狮舞龙,进行各种传统活动,营造出浓厚...
标题“spring”通常在IT行业中指的是Spring框架,这是一个广泛...通过理解并熟练运用Spring,开发者可以构建出高效、可维护的软件系统,就像春天带给大地生机一样,Spring带给开发者的是高效的开发环境和无限的可能性。
在该毕业论文中,作者使用 Spring Boot 框架来构建成都锦城学院校内订餐系统,旨在让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便。该系统设计主要采用的是 JAVA 语言来进行开发,采用 Spring Boot ...
7. 快乐(Happiness):春节带给人们无尽的快乐,无论是孩子还是大人都沉浸在节日的氛围中,享受着团聚的时光。 8. 对话与故事叙述:文章通过第一人称的视角讲述了作者在春节的一天中所经历的快乐时刻,展现了中国...
使用SpringMVC分层开发思维结合SpringData的使用注解增删改查语句,通过导入jar包的方式来完成项目,本来准备用maven,可是有点语法问题就没用了。所以这个独立完成的小项目带给了自己很多的收获,加油。
【互联网】领域的文章《春天如何打开思维》(How Spring Opens the Mind)主要探讨了春季对人类情绪和认知功能的影响。作者Olga Khazan通过不同的文化习俗,如捷克人的冷水洗礼、南亚的彩色粉末游戏以及华盛顿人的赏花...
标题“springcloud:春天”可能暗示我们将讨论Spring Cloud如何在项目开发中带来生机和活力,就像春天带给大自然一样。春天代表着新的开始和生长,Spring Cloud则为开发者提供了构建现代化云应用的春季,帮助他们快速...