欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > 基于Maven的轻量级Java软件开发研究

基于Maven的轻量级Java软件开发研究

日期:2023-01-24 阅读量:0 所属栏目:软件技术


  本文通过对多种Java软件架构进行比较分析,提出了一种轻量级软件开发的方法,该方法使用Maven进行项目管理,采用Spring MVC和Hibernate框架搭建分层的软件架构,解决了软件开发复杂,效率低,管理混乱的问题。


  Java语言自从推出以来一直是最流行的编程语言,社会上越来越多的开发人员利用Java技术进行软件开发,也出现了越来越多的Java框架,为了提高软件开发的质量和效率,降低软件复杂度,需要选择合理的框架搭建软件架构,并且需要相应的技术进行项目的构建和管理,本文研究适合中小企业软件开发的轻量级的Java软件架构,并采用流行的项目管理工具Maven管理软件开发,以降低软件开发的难度。


  1 多种软件架构的比较


  1)早期的Java企业级开发采用框架重量级EJB(Enterprise JavaBean)。EJB是定义了一个用于开发基于组件的企业多重应用程序的Java EE标准。因为EJB容器默认为应用提供了EJB规范中的所用功能,以它为架构的应用程序需要消耗大量资源,具有侵入性,所以是一种重量级框架。


  比如,EJB启动的时候,需要消耗大量的资源,内存,CPU等。其次还表现在EJB巨大而复杂的规格说明以及代码规范。现在的EJB3.0增加了许多新的规范,例如元数据支持,实体Bean模型访问Bean上下文的新方法和运行时环境等,但是EJB仍然具有过于复杂的特性。


  基于重量级框架EJB的软件架构没有很好的灵活性来应对需求的变化,缺乏实用性,所以随着SOA和其它力量的兴起,软件开发也越来越多地选择轻量级的部署平台。


  2)常见的轻量级组合框架采用Struts2、Spring和Hibernate设计。Struts2是一个主流的基于MVC模式的Web开发框架,该框架包括三部分:核心的控制器组件、业务控制器和用户实现的业务逻辑组件。


  其中,Struts2框架提供了核心控制器,用户实现业务控制层和业务逻辑层,具体实现时业务逻辑层采用面向接口编程;Hibernate是一个基于Java的对象关系映射(ORM)开源框架,对底层的JDBC进行了非常轻量级的封装,开发人员通过它可以使用面向对象的编程思想操作数据库。


  使用JDBC的应用都可以用Hibernate替代,并且Hibernate可以取代重量级EJB在Java EE架构中的应用,完成数据持久化操作;Spring是为了降低企业应用开发的复杂性而创建的轻量级Java开源框架。


  Spring框架的采用分层架构,分层架构的优点是使用者根据需求选择使用其中的组件,并且可以提供集成的框架。Spring通过核心的控制反转(IoC)和面向切面(AOP)功能,使用简单的JavaBean来完成以前由重量级EJB完成的应用。


  Spring的应用不仅限于服务器端,任何的Java应用都可以选择需要的Spring功能模块。所以,Spring是一个分层的一站式轻量级开源框架。


  Struts2、Hibernate、Spring组合的轻量级架构如图1所示。


  3)目前流行应用Spring MVC完成Web开发。Spring的轻量级和低入侵性使得其应用越来越多,由此发展了Web模块,融合在Spring Web Flow里面,即Spring MVC。


  Spring MVC是提供了构建 Web 应用程序的全功能MVC模块。该功能和Spring其他功能一样是一种可插入的MVC架构[1]。Spring MVC轻量级框架侧重于减小开发的复杂度,比较适用于开发中小型企业应用。所以在使用Spring进行Web开发时,越来越多的使用SpringMVC框架取代集成其他MVC开发框架(如Struts2)。


  2 轻量级软件架构的搭建


  基于了Spring和Hibernate轻量级的特点,采用Spring MVC和hibernate整合完成分层的轻量级软件架构,应用Hibernate的对象持久化功能进行域模型层和DAO(Data Access Object)层的实现,应用Spring MVC定义控制层(Controller)和视图层,应用Spring的对象管理功能管理DAO层、服务层(Service)和控制层的对象,降低软件组件间耦合性。


  在进行Spring、Spring MVC和Hibernate轻量级架构搭建时,为使应用耦合度低不依赖其他容器,采用基于简单Java对象的方法,这可以提高软件的开发调试效率。具体搭建该轻量级软件架构需要注意以下几点。

QQ截图20160405162758.jpg

  1)导入Spring和Hibernate及其他功能(例如数据库驱动)的支持Jar包。


  2)Spring MVC的核心是DispatcherServlet,,这个Servlet充当Spring MVC的前端控制器,必须在中进行配置。


  3)必须定义基于这个servlet名字的XML文件,DispatcherServlet在加载时会从该文件中加载Spring上下文。


  4)定义相应功能的处理类和返回视图。


  采用的轻量级框架Spring和Hibernate都是基于Java的开源框架,在开源社区中为这些框架提供了成熟的API和许多快速构建工具以及可供参考的开源代码,这更利于软件的快速开发。


  3 Maven的应用


  在进行轻量级的软件架构开发项目的过程中,还必须有良好的项目管理工具。Maven是一款通过简短的描述信息来管理项目的构建,报告和文档的软件项目管理工具,它的核心是基于项目对象模型(POM)。Maven包含了一个项目对象模型、一组标准集合、一个项目生命周期、一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑。


  应用Maven,可以用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。Maven可以让开发人员快速地构建一个项目,有效地解决包管理和项目发布问题,并且可以与持续集成进行无缝对接。对于大型的系统,采用Maven 作为项目管理工具,可以有效地进行分工协作[2]。


  Maven的这种应用无侵入性,本身就是轻量级软件架构的需要。


  将Maven应用于基于Spring MVC的轻量级软件架构,可以有效的提高项目开发进度,降低项目复杂度,主要方法为以下几种。


  1)为项目定义文件,该文件中定义了项目对象模型,是Maven脚本的基础,这个模型定义了项目的各种属性,脚本都是基于该模型工作;此外在对象模型中对所依赖的包有明确的定义,如定义使用哪个版本的包。


  2)Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,Maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,并且用maven编译的项目在发布的时候只需要发布源码,小得很,使得项目更加轻量级。


  3)Maven还为项目提供了大量的附加脚本降低项目开发的复杂性,例如生成网站、生成文档、源代码参考手册等,利用Maven只需运行相应脚本。


  4 结论


  良好的软件架构和项目管理工具是软件开发成功的基础,不仅能够降低开发难度,节约开发成本,还能够极大的提高软件的可扩展性和可维护性。基于Spring、Spring MVC和Hibernate搭建的软件架构以控制器、模型和视图(MVC)为基础,对底层JDBC进行对象封装,提供业务模型基础,并应用分层和按需集成方式开发web应用;Maven服务于基于Java平台的项目构建、依赖管理和项目信息管理,来降低系统各个模块之间的耦合度,使得代码的复用性大大提高,可以实现项目的并行开发,进一步提高系统开发的可扩展性及稳定性,降低软件开发难度。


  Spring MVC、Hibernate框架以及Maven工具发展迅速,公司项目采用它们的比例在持续增长,在软件开发时可以借鉴。


  作者:杨新艳 于伟涛 来源:科技传播 2015年17期

本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/229311.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学