杨宁 刘丹军
摘要:选择合理的开发框架对于Java Web应用系统的开发至关重要,常见的Java Web开发框架像Struts、Spring、Hibernate等虽然使用人数较多,但是它们在使用上较为复杂,整合过程较为繁琐。该文提出使用JFinal框架作为SSH框架的替代方案,不但可以提高项目代码的可维护性和可扩展性,更可以大幅度的提高开发效率。
关键词:JFinal框架;Java EE;应用开发
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)07-1440-04
随着信息技术和网络技术的发展,基于Java的Web技术也得到了广泛的应用。然而,Java Web开发者在进行开发的时候经常要考虑多方面的因素,例如采用哪种开发模式、划分几个层次、各个层次分别使用哪些框架和技术、如何实现各个业务模块之间的松耦合以及系统的扩展性等等。为了减轻开发人员的负担,提高代码的重用性,各种Java Web应用框架应运而生。比如流程控制层我们经常采用Struts或Spring MVC框架,它们主要用于控制程序的逻辑关系;数据持久层我们经常采用Hibernate或Mybatis,它们用于提供数据表到Java类的映射,大大减少数据操作的复杂度;在控制程序之间的依赖关系方面通常选择Spring,它是一个轻量级的控制反转和面向切面的容器框架,采用面向接口的编程方式,由容器控制程序之间的依赖关系。虽然在近些年,这些框架得到了大范围的应用,但是不难看出,由于使用框架较多,不但开发效率较低,也会给后期的升级和维护带来极大困难。同时对于想入门的开发者来说,要学习多个开发框架极大的提高了学习成本。
JFinal是一款基于Java语言的开源Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能強大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有Ruby、Python等动态语言的开发效率。使用它不但能实现多个开发框架的功能,效率方面也会得到极大的提升。
1 JFinal框架
1.1 系统架构
JFinal框架的架构由空间建构和逻辑架构组成。其中,空间架构采用微内核全方位扩展架构,它由Handler、Interceptor、Controller、Render和Plugin五大部分组成。每个部分都基于接口实现,支持完整的自定义,扩展性强,使用灵活,设计精巧且使用简单。而JFinal的逻辑架构采用经典的MVC架构,其中包括HttpServletRequest(客户端请求)、HttpServletResponse(客户端响应)、所有请求的拦截器、请求处理器(对所有请求的公共处理)、动作处理器(它是一个AOP+Command模式变种,由ActionInvocation进行调度,先执行拦截器,最后执行具体方法),这样的逻辑架构使得系统层次分明,便于开发人员理解和使用。总体的架构图如图1。
4 结束语
本文对JFinal框架的优点和使用方法进行了研究,通过研究发现JFinal不但可以很好的代替SSH作为Java Web开发的首选框架,对于开发人员的入门和提高也有很大的帮助,在很大程度上解决了Java开发门槛高、开发效率低、开发框架杂乱等问题。
由于篇幅有限,该文未对JFinal框架中的ActiveRecord、Validator、缓存等特色功能进行详细阐述,各位读者如果感兴趣可以下载JFinal手册查看,笔者也将对JFinal框架的后续发展和功能扩展保持持续的关注。
参考文献:
[1] 百度百科.JFinal[EB/OL].http://baike.baidu.com/view/8339916.htm.
[2] 詹波.JAVA 极速WEB+ORM框架 JFinal [DB/OL].http://www.oschina.net/p/jfinal.
[3] 夏艳秋,袁汝华.基于 JFinal 框架和 HTML5 技术的手机应用开发平台设计[J].计算机与现代化,2014(1):201-205,210.
[4] 胡启敏,薛锦云,钟林辉.基于 Spring 框架的轻量级 J2EE 架构与应用[J].计算机工程与应用,2008, 44(5).
[5] 刘军,戴金山.基于 Spring MVC 与 iBATIS 的轻量级 Web 应用研究[J].计算机应用,2006,26(4):840-843.
[6] 李峰,刘彦隆.基于 SSH 框架与 jQuery 技术的 JavaWeb 开发应用[J].科技情报开发与经济,2010(6):106-108.
[7] 许鑫,费翔林.基于 MVC 模式的应用软件开发框架研究[J].计算机工程与应用,2006,41(30):102-104.
[8] 苏晓波.Web 快速开发框架的设计与实现[D].武汉:华中科技大学,2010.
[9] 薛峰,梁锋,徐书勋.基于 Spring MVC 框架的 Web 研究与应用[J].合肥工业大学学报:自然科学版, 2012,35(3):337-340.
[10] 刘行亮.基于 J2EE 平台的 Spring 框架分析研究与应用[D].武汉:武汉科技术大学,2006.