欢迎来到天天文库
浏览记录
ID:22019994
大小:54.50 KB
页数:6页
时间:2018-10-26
《基于maven的轻量级java软件开发研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于Maven的轻量级Java软件开发研究本文通过对多种Java软件架构进行比较分析,提出了一种轻量级软件开发的方法,该方法使用Maven进行项目管理,采用SpringMVC和Hibernate框架搭建分层的软件架构,解决了软件开发复杂,效率低,管理混乱的问题。Java语言自从推出以来一直是最流行的编程语言,社会上越来越多的开发人员利用Java技术进行软件开发,也出现了越来越多的Java框架,为了提高软件开发的质量和效率,降低软件复杂度,需要选择合理的框架搭建软件架构,并且需要相应的技术进行项目的构建和管理,本文研究适合中小企业软件开发的轻量级的Java软件架构,并采用流行
2、的项目管理工具Maven管理软件开发,以降低软件开发的难度。1多种软件架构的比较1)早期的Java企业级开发采用框架重量级EJB(EnterpriseJavaBean)。EJB是定义了一个用于开发基于组件的企业多重应用程序的JavaEE标准。因为EJB容器默认为应用提供了EJB规范中的所用功能,以它为架构的应用程序需要消耗大量资源,具有侵入性,所以是一种重量级框架。比如,EJB启动的时候,需要消耗大量的资源,内存,CPU等。其次还表现在EJB巨大而复杂的规格说明以及代码规范。现在的EJB3.0增加了许多新的规范,例如元数据支持,实体Bean模型访问Bean上下文的新方法和运
3、行时环境等,但是EJB仍然具有过于复杂的特性。基于重量级框架EJB的软件架构没有很好的灵活性来应对需求的变化,缺乏实用性,所以随着SOA和其它力量的兴起,软件开发也越来越多地选择轻量级的部署平台。2)常见的轻量级组合框架采用Struts2、Spring和Hibernate设计。Struts2是一个主流的基于MVC模式的)开源框架,对底层的JDBC进行了非常轻量级的封装,开发人员通过它可以使用面向对象的编程思想操作数据库。使用JDBC的应用都可以用Hibernate替代,并且Hibernate可以取代重量级EJB在JavaEE架构中的应用,完成数据持久化操作;Spring是为
4、了降低企业应用开发的复杂性而创建的轻量级Java开源框架。Spring框架的采用分层架构,分层架构的优点是使用者根据需求选择使用其中的组件,并且可以提供集成的框架。Spring通过核心的控制反转(IoC)和面向切面(AOP)功能,使用简单的JavaBean来完成以前由重量级EJB完成的应用。Spring的应用不仅限于服务器端,任何的Java应用都可以选择需要的Spring功能模块。所以,Spring是一个分层的一站式轻量级开源框架。Struts2、Hibernate、Spring组合的轻量级架构如图1所示。3)目前流行应用SpringMVC完成L文件,DispatcherS
5、ervlet在加载时会从该文件中加载Spring上下文。4)定义相应功能的处理类和返回视图。采用的轻量级框架Spring和Hibernate都是基于Java的开源框架,在开源社区中为这些框架提供了成熟的API和许多快速构建工具以及可供参考的开源代码,这更利于软件的快速开发。3Maven的应用在进行轻量级的软件架构开发项目的过程中,还必须有良好的项目管理工具。Maven是一款通过简短的描述信息来管理项目的构建,报告和文档的软件项目管理工具,它的核心是基于项目对象模型(POM)。Maven包含了一个项目对象模型、一组标准集合、一个项目生命周期、一个依赖管理系统和用来运行定义在生
6、命周期阶段中插件目标的逻辑。应用Maven,可以用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。Maven可以让开发人员快速地构建一个项目,有效地解决包管理和项目发布问题,并且可以与持续集成进行无缝对接。对于大型的系统,采用Maven作为项目管理工具,可以有效地进行分工协作[2]。Maven的这种应用无侵入性,本身就是轻量级软件架构的需要。将Maven应用于基于SpringMVC的轻量级软件架构,可以有效的提高项目开发进度,降低项目复杂度,主要方法为以下几种。1)为项目定义pom.xml文件,该文件中定义
7、了项目对象模型,是Maven脚本的基础,这个模型定义了项目的各种属性,脚本都是基于该模型工作;此外在对象模型中对所依赖的包有明确的定义,如定义使用哪个版本的包。2)Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,Maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,并且用maven编译的项目在发布的时候只需要发布源码,小得很,使得项目更加轻量级。3)Maven还为项目提供了大量的附加脚本降低项目
此文档下载收益归作者所有