爱上Spring 2.5的十大理由

日期: 2010-06-27 作者:刘斌 来源:TechTarget中国 英文

  “酒香不怕巷子深”,短短四五年时间,Spring凭借其独特的魅力,神速般地成长为Java EE技术领域的事实标准。它是如此轻巧、便捷地为Java EE企业级应用开发提供了整体技术解决方案,为往昔焦头烂额的Java EE程序员指明了一条充满快乐与享受的春光大道。

  如果你还是一名Spring的观望者或初学者,如果你还在为是否投身Spring应用的滚滚大潮犹豫不决的话,我会向你推荐一位让你一见钟情的俊俏姑娘。

  面向接口编程,不重复发明轮子:接口定义的是规范,描述的是功能,在软件分层开发模式中尤为重要。一个接口,根据不同的个性化需求可以产生多个不同的实现,将接口与实现进行分离,大大降低了组件之间的耦合度,提高了组件的可测试性与相对独立性。

  基于工厂模式的IoC容器:将Java EE应用中的对象全部交由Spring的Bean工厂进行生成、装配与生命周期的管理,这所Bean工厂肩负JavaBean的实例化、依赖关系的装配及高效的生命周期管理,为Java EE程序员分担了Bean管理的艰巨任务,让Java EE程序员享受到前所未有的”衣来伸手,饭来张口”的待遇。

  面向切面编程AOP的完美实现:将业务逻辑中到处重复出现的一些诸如日志输出、事务控制及权限控制等代码全面抽取出来,集中放置到某个地方保存起来。使得Java EE程序员只要关注真正的业务逻辑处理即可,大大提高开发效率,最后在具体运行时,再由Spring的AOP模块自动完成重组,使得主业务逻辑代码与共有功能代码完美复合,最终实现我们预期的功能目标。

  提供了大量实用的Java EE企业级服务支持:Spring作为一个轻量级的Java EE技术解决方案,如何更好地规范与简化各种Java EE企业级服务的应用是至关重要的。令我们欣慰的是,Spring出色地整合了目前常用的Java EE企业级服务,例如,事务管理、持久化服务、JMS消息服务、RMI远程调用、电子邮件、WebService、任务调度与EJB支持等。

  兼容Java应用与Java Web应用:只要有Java身影的地方,就可以有Spring的用武之地。因此,不管是开发Java应用还是Java Web应用,均可受益于Spring。

  模块化的架构,满足Java EE程序员的多样化需求:Spring开发团队当时在设计Spring时,就充分考虑到了Java EE程序员的多样化需求,最终以功能模块堆砌的架构展现出来,便于Java EE程序员选择应用,提高了Spring框架的应用灵活性。例如,在基于PDA等移动终端的Java应用开发时,可仅选用Spring的IoC模块;然而,在基于PC的电子商务应用开发中,则可同时选用Spring的IoC与AOP模块,甚至Spring自带的MVC框架,仁者见仁,智者见智。

  轻重级:所谓轻量,并非论斤两、量体积。是指其运行过程中消耗资源少、开发过程轻便快捷,一切应用基于普通的JavaBean来实现,不需要专用的容器支持,面向接口编程,耦合度低,便于测试。

  全面支持Annotation注解技术,大大简化配置工作:自JDK1.5推出Annotation技术以来,所有框架都争先恐后地加入到Annotation热潮中来,向着”零配置”的巅峰冲刺。

  使用Spring自带的辅助工具类简化Java EE应用的开发,提高开发效率:例如,使用Spring提供的CharacterEncodingFilter过滤器可解决Java Web应用中的中文编码问题;使用WebApplicationContextUtils类的getRequiredWebApplicationContext方法使得在JSP与Servlet中取得IoC容器的引用;使用HibernateTemplate可快速方便地调用Hibernate Session完成数据库的操作;使用JdbcTemplate简化JDBC的数据库操作等。

  与Struts、Hibernate等名流框架无缝集成:尽管Spring致力于提供“一站式”服务,在MVC应用领域,大家还是会被Struts的出色表现所折服,谈到ORM,总是忘不了Hibernate娴熟的身影。Spring宽广的胸怀,为Struts与Hibernate敞开大门,提供了极为便利的集成方式,让SSH(Spring+Struts+Hibernate)这个崭新的组合框架从此映入Java EE程序员的眼帘,成为Java EE应用开发史上的新神话。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

刘斌
刘斌

相关推荐

  • Spring针对Java 8升级

    Java 8刚刚在几周前发布。后来Spring Framework项目负责人发表了题为《企业项目中的Java 8》的文章。文中,指出那些著名的Java EE应用服务器如何不允许轻松升级。

  • 软件项目成功:项目的处理

    在软件项目成功的因素中有我们谈及了问题域和社区,然这两者并不是软件项目本身。你可以把分类当作问题领域连续讨论几个星期,但分类的问题跟实际执行分类的库并不一样。

  • Rails 4.1改进启动时间和响应布局

    在经历了两个候选版本后,Rails团队刚刚发布了Rails 4.1.0。以“单点版本(point release)”发布意在说明更改向后兼容,可以无痛升级。

  • 你应该远离的六个Java特性

    近日,Tarnovski撰文谈到了普通开发者应该尽量避免使用的6个Java特性,这些特性常见于各种框架或库当中,使用这些特性也许会给你所开发的应用带来灾难。