.SPRING:您准备好了吗?

本文对比了.NET和Java在企业应用开发中的不同策略,强调了Spring Framework如何逐渐成为Java开发者的一站式解决方案,覆盖了从容器管理到手机Web开发等各个方面,并探讨了Spring未来可能发展成为一个完整的平台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  作为软件开发的两大阵营,.NET和Java一向各具特色。对于.NET阵营,广受Java爱好者所指责的是其对开源并不友好的态度,而且Java爱好者也有足够的理由如此,成千上万的优质Java开源项目便是再好不过的证明。除此之外,.NET各版本之间的不兼容问题也是广为Java同行所诟病。可是.NET并不是一无是处,如果我们试着客观一点,就会发现至少.NET也有我们所羡慕的地方,其中不无重要的一点就是它的一站式解决方案,而这正是J2EE世界所缺少的。
  当我们基于J2EE搭建我们的软件技术架构时,让我们沮丧的一件事情就是,我们必须自己一项项技术去确认,中间层使用Spring是否合适?持久化使用Hibernate是否合适?WEB使用Struts是否合适?而且我们还要祈祷我们使用的这些框架之间的依赖库不会有版本冲突,否则我们的技术架构就会以失败而告终。上面列举的可能是我们最简单的SSH架构,那么作为企业应用,我们的数据批处理呢?缓存呢?监控呢?工作流呢?甚至SOA和规则引擎,更时尚点的,如果我们需要进一步支持基于手机的Web呢?此时,作为架构师,也许你就会不知疲倦的在原有架构的基础上整合一个个的开源框架。为了整合它们,你还需要写上部分整合代码进行粘合,完成这一切后,你可能会很有成就感,因为你不花一分钱为公司搭建了这套架构,你有足够的理由相信,公司所有的人都应该感谢开源,如果没有它,就没有这一切。可所有这一切就像是一个利用积木搭建的大厦一样,显得那么脆弱,以至于你在现有架构上疲于应付不断变化的业务需求。渐渐地,你就会发现利用这个架构解决问题是如此的麻烦,健壮性是如此的差,可即便我们发现了这些却已经举步维艰了。
  这个时候,我们再将目光转向.NET的同行们,他们可以不需要任何开源软件,他们只需要Microsoft就可以了,它为他们提供了优秀的IDE——Visual Studio,优秀的开发语言C#,通过ASP .NET,他们可以方便的搭建WEB应用,利用.NET平台的各种技术,他们足以完成任何想要的任务,他们不需要拥抱开源。
  那么,作为Java从业者,我们就必须接受这一切吗?也许Spring Framework为我们提供了一个前进的方向。Spring Framework从创立至今,已经创建了多个子项目,涵盖了企业应用的方方面面。
  如果您的应用需要提供容器管理,那么Spring Ioc是您最好的选择。如果您需要使用数据访问接口,那么无论你热衷于Hibernate还是iBatis,甚至直接使用Jdbc,Spring均为您提供了统一的接口,大大降低了您的学习曲线,甚至你还可以选择Spring Data,该项目提供了各种方式的数据访问,包括对Blob、MongoDB、Neo4j、Riak、Redis、Hadoop的集成。而且该项目的后续版本还要支持HBase、Cassandra、CouchDB、Membase。
  如果您需要做企业集成,那么Spring Integration可以满足您的需求;如果您需要进行企业批处理,那么Spring Batch可以帮您实现。如果您需要做手机Web,那么您可以选择Spring Android。如果您要实现分布式应用,那么您可以选择Spring GemFire。如果您想为自己的项目加入安全管理,那么您可以选择Spring Security。
  除此之外,我们可以使用Spring Web Services开发SOA服务,使用Spring Flex开发RIA项目,使用Spring Roo简化Java Web开发,使用Spring AMQP开发基于AMQP的消息解决方案,使用Spring Payment Services开发支付服务,使用Spring Dynamic Modules开发Osgi风格的应用,使用Spring LDAP开发LDAP应用,使用Spring Rich Client开发富客户端应用,使用SpringSource dm Server作为应用服务器。SpringSource还为我们提供了基于Eclipse平台的Spring IDE,通过它我们可以方便的进行基于Spring Framework的项目开发。
  从Spring Framework的发展路线,我们不难看出,Spring Framework的子项目已经包含了应用开发的方方面面,而这一切又均基于Spring Core这个核心平台,SpringSource为它们提供了一致的编程风格,这种风格已经为广大开发人员所熟悉,因此只要您熟悉Spring Core,那么您就会发现,您极易掌握这些子项目,这是您学习其他类似项目所不能比拟的。而且使用这些子项目可以快速的与您当前基于Spring Framework的项目成功进行集成,将对现有项目架构的冲击降至最低。由于Spring为轻量级开发框架,对于我们不使用的子项目,只要不加入我们的依赖环境即可,丝毫不影响其他项目的正常使用。
  值得我们欣慰的还有一点就是,对于第三方框架的集成以及版本依赖已经由Spring完成了,我们从此不必再关心版本冲突的问题,对于我们来说,Spring就是一站式开发平台,它提供了我们想要的功能,而且与.NET相比,它是开源的。
  如果您还在不断的集成第三方框架,如果您还在不断的编写粘合代码,如果您已经感觉到自己堆积的框架正在变得越来越脆弱,如果您已经感觉到当前的项目框架已经疲于应付不断变更的需求而充斥着各种临时解决方案,那么也许您应该重新审视一下Spring在项目架构中的作用,或许它已经不是Framework,而是Platform。
  与微软阵营的.NET对应,在不久的将来,在Java阵营,我们可能迎来.SPRING平台,您准备好了吗?

http://blog.tianya.cn/blogger/post_read.asp?BlogID=686631&PostID=36153637

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值