1. <rp id="zsypk"></rp>

      2. 基于Maven的輕量級(jí)Java軟件開發(fā)研究論文

        時(shí)間:2021-04-15 09:50:49 論文 我要投稿

        基于Maven的輕量級(jí)Java軟件開發(fā)研究論文

          本文通過對(duì)多種Java軟件架構(gòu)進(jìn)行比較分析,提出了一種輕量級(jí)軟件開發(fā)的方法,該方法使用Maven進(jìn)行項(xiàng)目管理,采用Spring MVC和Hibernate框架搭建分層的軟件架構(gòu),解決了軟件開發(fā)復(fù)雜,效率低,管理混亂的問題。

        基于Maven的輕量級(jí)Java軟件開發(fā)研究論文

          Java語言自從推出以來一直是最流行的編程語言,社會(huì)上越來越多的開發(fā)人員利用Java技術(shù)進(jìn)行軟件開發(fā),也出現(xiàn)了越來越多的Java框架,為了提高軟件開發(fā)的質(zhì)量和效率,降低軟件復(fù)雜度,需要選擇合理的框架搭建軟件架構(gòu),并且需要相應(yīng)的技術(shù)進(jìn)行項(xiàng)目的構(gòu)建和管理,本文研究適合中小企業(yè)軟件開發(fā)的輕量級(jí)的Java軟件架構(gòu),并采用流行的項(xiàng)目管理工具M(jìn)aven管理軟件開發(fā),以降低軟件開發(fā)的難度。

          1、多種軟件架構(gòu)的比較

          1)早期的Java企業(yè)級(jí)開發(fā)采用框架重量級(jí)EJB(Enterprise JavaBean)。EJB是定義了一個(gè)用于開發(fā)基于組件的企業(yè)多重應(yīng)用程序的Java EE標(biāo)準(zhǔn)。因?yàn)镋JB容器默認(rèn)為應(yīng)用提供了EJB規(guī)范中的所用功能,以它為架構(gòu)的應(yīng)用程序需要消耗大量資源,具有侵入性,所以是一種重量級(jí)框架。

          比如,EJB啟動(dòng)的時(shí)候,需要消耗大量的資源,內(nèi)存,CPU等。其次還表現(xiàn)在EJB巨大而復(fù)雜的規(guī)格說明以及代碼規(guī)范,F(xiàn)在的EJB3.0增加了許多新的規(guī)范,例如元數(shù)據(jù)支持,實(shí)體Bean模型訪問Bean上下文的新方法和運(yùn)行時(shí)環(huán)境等,但是EJB仍然具有過于復(fù)雜的特性。

          基于重量級(jí)框架EJB的軟件架構(gòu)沒有很好的靈活性來應(yīng)對(duì)需求的變化,缺乏實(shí)用性,所以隨著SOA和其它力量的興起,軟件開發(fā)也越來越多地選擇輕量級(jí)的部署平臺(tái)。

          2)常見的輕量級(jí)組合框架采用Struts2、Spring和Hibernate設(shè)計(jì)。Struts2是一個(gè)主流的基于MVC模式的Web開發(fā)框架,該框架包括三部分:核心的控制器組件、業(yè)務(wù)控制器和用戶實(shí)現(xiàn)的業(yè)務(wù)邏輯組件。

          其中,Struts2框架提供了核心控制器,用戶實(shí)現(xiàn)業(yè)務(wù)控制層和業(yè)務(wù)邏輯層,具體實(shí)現(xiàn)時(shí)業(yè)務(wù)邏輯層采用面向接口編程;Hibernate是一個(gè)基于Java的對(duì)象關(guān)系映射(ORM)開源框架,對(duì)底層的JDBC進(jìn)行了非常輕量級(jí)的封裝,開發(fā)人員通過它可以使用面向?qū)ο蟮木幊趟枷氩僮鲾?shù)據(jù)庫。

          使用JDBC的應(yīng)用都可以用Hibernate替代,并且Hibernate可以取代重量級(jí)EJB在Java EE架構(gòu)中的應(yīng)用,完成數(shù)據(jù)持久化操作;Spring是為了降低企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的輕量級(jí)Java開源框架。

          Spring框架的采用分層架構(gòu),分層架構(gòu)的優(yōu)點(diǎn)是使用者根據(jù)需求選擇使用其中的組件,并且可以提供集成的.框架。Spring通過核心的控制反轉(zhuǎn)(IoC)和面向切面(AOP)功能,使用簡單的JavaBean來完成以前由重量級(jí)EJB完成的應(yīng)用。

          Spring的應(yīng)用不僅限于服務(wù)器端,任何的Java應(yīng)用都可以選擇需要的Spring功能模塊。所以,Spring是一個(gè)分層的一站式輕量級(jí)開源框架。

          Struts2、Hibernate、Spring組合的輕量級(jí)架構(gòu)如圖1所示。

          3)目前流行應(yīng)用Spring MVC完成Web開發(fā)。Spring的輕量級(jí)和低入侵性使得其應(yīng)用越來越多,由此發(fā)展了Web模塊,融合在Spring Web Flow里面,即Spring MVC。

          Spring MVC是提供了構(gòu)建 Web 應(yīng)用程序的全功能MVC模塊。該功能和Spring其他功能一樣是一種可插入的MVC架構(gòu)[1]。Spring MVC輕量級(jí)框架側(cè)重于減小開發(fā)的復(fù)雜度,比較適用于開發(fā)中小型企業(yè)應(yīng)用。所以在使用Spring進(jìn)行Web開發(fā)時(shí),越來越多的使用SpringMVC框架取代集成其他MVC開發(fā)框架(如Struts2)。

          2、輕量級(jí)軟件架構(gòu)的搭建

          基于了Spring和Hibernate輕量級(jí)的特點(diǎn),采用Spring MVC和hibernate整合完成分層的輕量級(jí)軟件架構(gòu),應(yīng)用Hibernate的對(duì)象持久化功能進(jìn)行域模型層和DAO(Data Access Object)層的實(shí)現(xiàn),應(yīng)用Spring MVC定義控制層(Controller)和視圖層,應(yīng)用Spring的對(duì)象管理功能管理DAO層、服務(wù)層(Service)和控制層的對(duì)象,降低軟件組件間耦合性。

          在進(jìn)行Spring、Spring MVC和Hibernate輕量級(jí)架構(gòu)搭建時(shí),為使應(yīng)用耦合度低不依賴其他容器,采用基于簡單Java對(duì)象的方法,這可以提高軟件的開發(fā)調(diào)試效率。具體搭建該輕量級(jí)軟件架構(gòu)需要注意以下幾點(diǎn)。

          1)導(dǎo)入Spring和Hibernate及其他功能(例如數(shù)據(jù)庫驅(qū)動(dòng))的支持Jar包。

          2)Spring MVC的核心是DispatcherServlet,,這個(gè)Servlet充當(dāng)Spring MVC的前端控制器,必須在web.xml中進(jìn)行配置。

          3)必須定義基于這個(gè)servlet名字的XML文件,DispatcherServlet在加載時(shí)會(huì)從該文件中加載Spring上下文。

          4)定義相應(yīng)功能的處理類和返回視圖。

          采用的輕量級(jí)框架Spring和Hibernate都是基于Java的開源框架,在開源社區(qū)中為這些框架提供了成熟的API和許多快速構(gòu)建工具以及可供參考的開源代碼,這更利于軟件的快速開發(fā)。

          3、Maven的應(yīng)用

          在進(jìn)行輕量級(jí)的軟件架構(gòu)開發(fā)項(xiàng)目的過程中,還必須有良好的項(xiàng)目管理工具。Maven是一款通過簡短的描述信息來管理項(xiàng)目的構(gòu)建,報(bào)告和文檔的軟件項(xiàng)目管理工具,它的核心是基于項(xiàng)目對(duì)象模型(POM)。Maven包含了一個(gè)項(xiàng)目對(duì)象模型、一組標(biāo)準(zhǔn)集合、一個(gè)項(xiàng)目生命周期、一個(gè)依賴管理系統(tǒng)和用來運(yùn)行定義在生命周期階段中插件目標(biāo)的邏輯。

          應(yīng)用Maven,可以用一個(gè)明確定義的項(xiàng)目對(duì)象模型來描述項(xiàng)目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。Maven可以讓開發(fā)人員快速地構(gòu)建一個(gè)項(xiàng)目,有效地解決包管理和項(xiàng)目發(fā)布問題,并且可以與持續(xù)集成進(jìn)行無縫對(duì)接。對(duì)于大型的系統(tǒng),采用Maven 作為項(xiàng)目管理工具,可以有效地進(jìn)行分工協(xié)作。

          Maven的這種應(yīng)用無侵入性,本身就是輕量級(jí)軟件架構(gòu)的需要。

          將Maven應(yīng)用于基于Spring MVC的輕量級(jí)軟件架構(gòu),可以有效的提高項(xiàng)目開發(fā)進(jìn)度,降低項(xiàng)目復(fù)雜度,主要方法為以下幾種。

          1)為項(xiàng)目定義pom.xml文件,該文件中定義了項(xiàng)目對(duì)象模型,是Maven腳本的基礎(chǔ),這個(gè)模型定義了項(xiàng)目的各種屬性,腳本都是基于該模型工作;此外在對(duì)象模型中對(duì)所依賴的包有明確的定義,如定義使用哪個(gè)版本的包。

          2)Maven是基于中央倉庫的編譯,即把編譯所需要的資源放在一個(gè)中央倉庫里,如jar,tld,pom,等。當(dāng)編譯的時(shí)候,Maven會(huì)自動(dòng)在倉庫中找到相應(yīng)的包,如果本地倉庫沒有,則從設(shè)定好的遠(yuǎn)程倉庫中下載到本地。這一切都是自動(dòng)的,并且用maven編譯的項(xiàng)目在發(fā)布的時(shí)候只需要發(fā)布源碼,小得很,使得項(xiàng)目更加輕量級(jí)。

          3)Maven還為項(xiàng)目提供了大量的附加腳本降低項(xiàng)目開發(fā)的復(fù)雜性,例如生成網(wǎng)站、生成文檔、源代碼參考手冊(cè)等,利用Maven只需運(yùn)行相應(yīng)腳本。

          4、結(jié)論

          良好的軟件架構(gòu)和項(xiàng)目管理工具是軟件開發(fā)成功的基礎(chǔ),不僅能夠降低開發(fā)難度,節(jié)約開發(fā)成本,還能夠極大的提高軟件的可擴(kuò)展性和可維護(hù)性。基于Spring、Spring MVC和Hibernate搭建的軟件架構(gòu)以控制器、模型和視圖(MVC)為基礎(chǔ),對(duì)底層JDBC進(jìn)行對(duì)象封裝,提供業(yè)務(wù)模型基礎(chǔ),并應(yīng)用分層和按需集成方式開發(fā)web應(yīng)用;Maven服務(wù)于基于Java平臺(tái)的項(xiàng)目構(gòu)建、依賴管理和項(xiàng)目信息管理,來降低系統(tǒng)各個(gè)模塊之間的耦合度,使得代碼的復(fù)用性大大提高,可以實(shí)現(xiàn)項(xiàng)目的并行開發(fā),進(jìn)一步提高系統(tǒng)開發(fā)的可擴(kuò)展性及穩(wěn)定性,降低軟件開發(fā)難度。

          Spring MVC、Hibernate框架以及Maven工具發(fā)展迅速,公司項(xiàng)目采用它們的比例在持續(xù)增長,在軟件開發(fā)時(shí)可以借鑒。

        【基于Maven的輕量級(jí)Java軟件開發(fā)研究論文】相關(guān)文章:

        基于Android平臺(tái)軟件開發(fā)技術(shù)研究論文11-07

        基于CMMI的軟件開發(fā)模型應(yīng)用研究論文11-04

        基于軟件開發(fā)下外觀模式的改進(jìn)研究論文11-04

        云平臺(tái)下基于包裝設(shè)計(jì)的軟件開發(fā)研究論文10-29

        基于網(wǎng)絡(luò)包裝技術(shù)下軟件開發(fā)的遠(yuǎn)程監(jiān)控系統(tǒng)研究論文10-31

        基于Java EE的Web系統(tǒng)中數(shù)據(jù)庫設(shè)計(jì)技術(shù)研究論文11-06

        基于課堂的教師行動(dòng)研究的論文10-21

        基于柔性內(nèi)部控制研究論文10-27

        基于EVA的價(jià)值創(chuàng)造研究論文10-26

        99热这里只有精品国产7_欧美色欲色综合色欲久久_中文字幕无码精品亚洲资源网久久_91热久久免费频精品无码
          1. <rp id="zsypk"></rp>