基於Maven的輕量級Java軟體開發研究論文

來源:才華庫 2.25W

本文通過對多種Java軟體架構進行比較分析,提出了一種輕量級軟體開發的方法,該方法使用Maven進行專案管理,採用Spring MVC和Hibernate框架搭建分層的軟體架構,解決了軟體開發複雜,效率低,管理混亂的問題。

基於Maven的輕量級Java軟體開發研究論文

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物件的方法,這可以提高軟體的開發除錯效率。具體搭建該輕量級軟體架構需要注意以下幾點。

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 作為專案管理工具,可以有效地進行分工協作。

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工具發展迅速,公司專案採用它們的比例在持續增長,在軟體開發時可以借鑑。

熱門標籤