APP下载

J2EE企业级应用开发技术发展趋势

2010-05-14胡晓锋

价值工程 2010年4期

胡晓锋

摘要:J2EE企业级开发技术的发展可以反映为MVC框架的变迁。Struts依靠其前期的成功,目前仍旧占有大量的用户市场,Struts2.0的推出,进一步巩固Struts的应用地位。Hibernate框架实现了高效的数据持久化,极大提高了数据库层逻辑的开发效率,并且可以与Struts相融合。Spring技术作为轻型框架,依靠IoC在J2EE应用中占有重要地位,随着新技术的补充和完善,Spring技术的未来值得期待。

Abstract: The development of the J2EE development technology reflects the transform of the MVC frame. Based on the former success, the Struts still hold a lot of the users. The release of Struts 2.0 has strengthened the application status. Hibernate has realized the efficient data persistence, which greatly improved the efficiency of database layer logic of development, and can blend with Struts. Spring technology as a light framework, occupies an important status in the J2EE by the help of IoC. With the development and improvement of the new technologies, the future of Spring technology is worth waiting.

关键词:J2EE;MVC;Struts;Hibernate;Spring

Key words: J2EE; MVC;struts;hibernate;spring

中图分类号:TP31 文献标识码:A文章编号:1006-4311(2010)04-0030-01

1背景介绍

MVC(Model-View-Controller)程序设计理念中,把交互系统的组成分解成模型、视图、控制器三部分。模型封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作;视图把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户;控制器是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系。J2EE的发展历程,可以浓缩为MVC架构的发展,主流的MVC架构中,以Struts、Hibernate和Spring最为著名。

2Struts

“先入为主”是对与Struts架构最为真实的写照。虽然相比其它架构已经拥有了略显老旧的设计理念,但是凭借着推出之初对MVC设计的影响,Struts仍旧是目前Java Web MVC框架中不争的王者,软件研发企业站在产品开发的角度而言,Struts仍然是最稳妥的选择。

Struts有一组相互协作的类、Servlet以及JSP标签库组成。基于Struts构架的Web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。Struts有其自己的控制器,同时整合了其他的一些技术去实现模型层和视图层。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB、JDBC和Object Relation Bridge。

经过五年左右的发展,Struts在取得巨大应用成功的同时,也注重自身的发展,最新推出的Struts2.0中,实现了很多技术改造与升级。其中,Action类可以实现一个Action接口,也可实现其他接口,较以前版本的单一继承性可扩展性更强;使用“Value Stack”技术,使标签库能够在不进行视图绑定的情况下访问数值;Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期,堆栈能够根据需要和不同的Action一起使用。诸多的改进,无疑将改进原来版本的落后设计,随着新版本的推出,再依靠其庞大的程序员群体的支持,Struts拥有光明的未来。

3Hibernate

Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射(ORM)的工具,使用Hibernate最大的优点是能提高程序开发的效率,主要原因有两点:首先,Hibernate对JDBC进行了轻量级的对象封装,使程序员可以使用面向对象编程思想来操作数据库——数据库表可以直接映射为Java的类型,同时,Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,将数据表之间的关系解释为Java对象之间的继承及包含等关系;其次, Hibernate提供了数据库操作的API,用于对数据库所表示的对象执行查询、修改和删除操作。程序中与对象的交互由Hibernate保存,节省了大量SQL语句,从而使数据持久层得到了极大的简化,并且降低了程序的错误率。

4Spring

另外一个著名的开源框架叫做Spring,也是为解决企业应用开发的复杂性而创建MVC架构。Spring具有如下四大特性:第一,Spring是一个轻量级的框架。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布,所需的处理开销也很小;第二,反转控制特性,Spring通过一种称作控制反转(IoC)的技术促进了松耦合,应用IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象,而IoC对比传统的反射机制,性能得到了优化;第三,面向切面编程思想,Spring允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发,每个对象只关注于自身的业务逻辑;最后,容器应用特征, Spring包含并管理应用对象的配置和生命周期,可将其看成一种容器。

首先,Spring2.0的一个重大改进是引入了XML Schema的namespace,因而可以将Bean的配置文件做大幅度的简化,同时,新的XML Schema引入了更多的XML语法,功能更加强大;其二,提供了Request和Session范围的Bean,这一改进虽然对MVC的根本理念有所背离,但主要是面对AJAX Web Serviced调用改进。页面脚本通过AJAX调用,抛开Web层框架,直接访问业务层Bean,极大的提高了程序构建的方便性;第三,更好的Hibernate结合,在Spring2.0中,可以使用AspectJ进行容器管理,支持对持久化对象模型进行静态注入,当持久化对象在容器外被创建的时候,会产生对容器的回调,进行依赖关系的注入;第四,实现了JDBC的命名参数模版,为JDBC查询提供了带命名参数的占位符,在使用JDBC的时候,可以很容易的构造出来带占位符的动态条件查询,不必像以往一样拼接SQL字符串;另外,Spring2.0支持动态语言ruby,虽然目前动态语言支持看来还比较简单,但无疑是其在应用范围上的一大进步。

5小结

MVC框架技术的发展成为J2EE企业级应用技术的风向标,目前,Struts和Spring均推出了新版本,完善了自身功能,Hibernate技术依靠其数据持久化的强大功能实现了与Struts和Spring的联合应用。

参考文献:

[1]李小平,肖岳峰,宿元,等.基于J2EE多层架构的Web开发框架研究[J].计算机应用研究,2008(5).

[2]王青松.基于Hibernate实现MVC中的模型框架[J].辽宁大学学报(自然科学版),2007(4).

[3]田珂,谢世波,方马.J2EE数据持久层的解决方案[J].计算机工程,2003(22).

[4]薛冰,曹作良.设计模式和数据持久层框架在Web系统中的应用[J].天津理工学院学报,2004(1).