随着更简单Java EE版本的出现,Java EE狂热爱好者呼吁开发人员抛弃专有应用程序框架并拥抱核心。Spring是一种针对消除的框架,一些文章和教程都已经声称它已经过时了。
为了能在TSS开始每月定期的专栏,我会解答为什么Spring框架今天仍然流行这个问题。我将讨论平台的优势,创新,Spring容器的力量,与Java EE的对比和比较,在一些领域,SpringSource 作为VMware的一部分,完全是走在游戏的前面。在我开始之前,让我抛开偏见。我从2006年以来一直使用Spring,那时候我在前一个雇主的一个项目中运行了Spring。我自从Java EE最原始的1.0版本,Java的1.0.2版本开始就一直使用。当我看到Spring框架如何简化了我的生活,我就找到了机会可以更多的使用它。有一个作为一个导师,培训师和领导的背景,2007年,我以讲授Spring为目的走进Chariot Solutions公司,自从那以后我就一直在这儿。Chariot是SpringSource / VMware培训和解决方案合作伙伴。我虽然带领我们的培训团队,但这些观点仅代表我自己。Chariot也和很多其他技术公司合作,比如企业应用程序集成和发展空间等。
为什么Spring如此受欢迎?
简单地说,Spring之所以今天如此受欢迎,是因为它彻底简化了Java EE开发人员的开发。Rod Johnson在写一本关于J2EE应用程序设计书的时候创造了Spring,并且因为我们大多数人 都遵循规范而感到挫折。其中一个主要问题是,加强架构单独的企业JavaBean并且把它们生成部署Jar包。另一个是API对于框架接口的问题——home,本地和远程接口——更不用说,早在2001年,它使用一个昂贵,重量级的平台,如WebSphere或WebLogic来部署这些应用程序。
依赖注入赢得了胜利
Spring框架简化Java企业开发人员今天所做的一切。在Spring中的每个组件都是一个简单的Java对象。开发人员在同一个Web应用程序里面,其他Java类的旁边部署业务Bean,而无需担心生成部署业务组件的Jar文件。
Spring里面的一切都是基于业务接口的。代码要求实现一个接口实例,然后调用其方法,就像它将调用另一个类一样。反转控制容器基于一些简单的指令,把一切都连接在一起。这使得访问合作者变得很容易。它还允许开发者在组件上进行综合测试,通过启用一个Spring容器或者使用单元测试,stubs和mocks隔离测试组件。(译者注:Stub和Mock都是模拟外部依赖对象,Stub是完全模拟一个外部依赖,而Moc用来判断测试通过还是失败)
我们在此谈论的一切,都已经是近十年来Spring框架所证实的。并且它不需要任何特殊的应用程序服务器来运行;在Spring的容器内部可以运行任何Java运行时。JBoss团队编写了Seam框架,为Java EE提供一个上下文依赖注入(CDI)容器。Seam框架的一部分加入了Java EE 6 CDI规范,它提供了Spring开发者已经使用了多年的同样的功能。事实上,CDI(JSR-299)在Spring中作为一个依赖项注入模型是被支持的,即使在一个Java EE容器之外。
关于作者
Ken Rimple是Chariot Solutions公司教育服务部的主管,这里他编写和教授关于Spring、Java、Hibernate、Maven和JavaScript等主题。他是Chariot Solutions TechCast 采访播客系列的主持人,并且和Srini Penchikala共同撰写了《Spring Roo in Action》这本书。他的目前在开源工作上的一些思想,和Silly Weasel Roo add-ons项目,在他的博客上都有展示,并写在Rimple.com上。
信息披露:Chariot Solutions公司是一个SpringSource增值培训合作伙伴,一个Sonatype Maven合作伙伴,也和其他供应商合作,比如Engine Yard 和 TypeSafe。
在本文的观点不代表Chariot Solutions公司。
本文只是Spring学习的第一部分,精彩内容还将继续,敬请关注。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
Clouda框架介绍与应用场景
Clouda是一个NodeJS Web开发框架,但是,与流行的Express框架不同,Clouda是一个完整的前后端开发解决方案,等价于目前热议的MEAN架构。
-
Spring针对Java 8升级
Java 8刚刚在几周前发布。后来Spring Framework项目负责人发表了题为《企业项目中的Java 8》的文章。文中,指出那些著名的Java EE应用服务器如何不允许轻松升级。
-
2014年为您细数PHP框架排行榜Top 10
PHP框架是非常有用的工具,可以帮助开发者构建干净整洁和结构化的web开发,同时也加快了创建和维护 web 应用的速度。
-
Kraken:改变PayPal开发文化的Node.js框架
Kraken基于Express,Express是目前Node.js上最流行的MVC模式的Web开发框架,通过提供一系列强大特性帮助开发者快速创建各种Web应用。