摘 要:隨著計(jì)算機(jī)行業(yè)的迅猛發(fā)展,軟件系統(tǒng)也相應(yīng)增加了其復(fù)雜難度,系統(tǒng)架構(gòu)的設(shè)計(jì)在整個(gè)軟件中占據(jù)的比例越來越重,框架是軟件系統(tǒng)設(shè)計(jì)開發(fā)過程中滋生中的一個(gè)概念,在于重復(fù)使用已完成的設(shè)計(jì)和代碼且適用于實(shí)現(xiàn)某一特定類型的軟件系統(tǒng),保證其質(zhì)量。本文則主要詳細(xì)分析SSH組合框架中J2EE體系結(jié)構(gòu)的設(shè)計(jì),以及它在人力資源管理系統(tǒng)中的應(yīng)用實(shí)現(xiàn),以供參考。
關(guān)鍵詞:J2EE;SSH組合;框架;設(shè)計(jì);實(shí)現(xiàn)
中圖分類號(hào):TP311.52
近年來,Java技術(shù)的日趨完善和逐漸成熟,它作為企業(yè)計(jì)算機(jī)應(yīng)用中的標(biāo)準(zhǔn)平臺(tái),J2EE體系架構(gòu)也得到了全面的發(fā)展。它結(jié)合了面向?qū)ο蟮腗VC設(shè)計(jì)模式,構(gòu)成了一種快速高效的開發(fā)模式。這種開發(fā)模式有三種較為主流的框架:Hibernate、Struts、Sping。當(dāng)前特整合了一些優(yōu)秀的框架來適應(yīng)不同的應(yīng)用需求以此來快速提高開發(fā)效率,已經(jīng)成為系統(tǒng)軟件開發(fā)所流行的趨勢(shì)。
1 J2EE體系結(jié)構(gòu)相關(guān)概述
1.1 J2EE概念
1.2 J2EE體系上的結(jié)構(gòu)框架分析
框架存在的意義在于它們之間存在著不同的模板,且緊密關(guān)聯(lián),重要在于根據(jù)這些關(guān)聯(lián)性來有效的完成一些設(shè)計(jì)。它的關(guān)鍵是框架內(nèi)對(duì)象間的交互模式和控制流模式。在很多情況下框架都以組件庫的形式出現(xiàn),是一個(gè)可復(fù)用的設(shè)計(jì)組建,整個(gè)設(shè)計(jì)、協(xié)作組之間的責(zé)任分配、控制流程和依賴關(guān)系都可通過框架來作詳細(xì)闡明。當(dāng)前基J2EE架構(gòu)已經(jīng)開發(fā)出許多框架,使開發(fā)人員的負(fù)擔(dān)減輕了許多。當(dāng)前構(gòu)建Web應(yīng)用時(shí)要注重考慮業(yè)務(wù)邏輯處理、用戶請(qǐng)求處理及數(shù)據(jù)持久化等問題,從而出現(xiàn)了Hibernate、Struts、Sping三種基于Web層、數(shù)據(jù)層和業(yè)務(wù)層上比較常用的框架。
1.2.1 Hibernate框架
Hibernate框架支持使用各種Java思想,如實(shí)現(xiàn)對(duì)象利用Inheritance、Composition等,是一種比較徹底的Java對(duì)象映射工具。Hibernate框架具有很大靈活性,它可以在一張表的同一行當(dāng)中映射一個(gè)用戶定義的多個(gè)類的實(shí)例。因而傳統(tǒng)的從數(shù)據(jù)庫提取數(shù)據(jù)的代碼編寫量可以利用Hibernate QL來完成,縮短了提取時(shí)間,節(jié)省了開發(fā)成本。Hibernate框架之所以可以映射到數(shù)據(jù)庫的行,前提是因?yàn)樗ㄟ^Properties和類的映射文件,且某些功能構(gòu)件界于它最大模式和最小模式之間,是具有可選性的,從而實(shí)現(xiàn)簡化操作。
1.2.2 Sping框架
Struts是基于多層J2EE系統(tǒng)的框架,它提供了AOP的支持,JDBC的提取框架,Bean的配置基礎(chǔ)等,實(shí)現(xiàn)了MVC,為不同數(shù)據(jù)的技術(shù)訪問提供了統(tǒng)一的接口。Struts是一個(gè)服務(wù)于所有層面的應(yīng)用程序框架,由七個(gè)定義良好的模塊組成(具體組成構(gòu)圖如圖3所示),由于Struts模塊化的很好,以致并不強(qiáng)求在每一層中都要使用,根據(jù)自身所需選擇即可。
1.2.3 Struts框架
Struts框架基于MVC設(shè)計(jì)模式,一個(gè)應(yīng)用程序的商業(yè)邏輯、控制邏輯及表現(xiàn)邏輯的代碼可以利用Struts框架中MVC設(shè)計(jì)模式來分解,復(fù)雜的Web應(yīng)用也可以利用它來構(gòu)建。Struts是開源軟件,是Apache的Jakarta項(xiàng)目組成部分之一,受到全世界Java程序員的廣泛支持,開發(fā)者也可以免費(fèi)使用并通過源代碼來深入了解MVC的內(nèi)部實(shí)現(xiàn)機(jī)制。Struts因受到ActionServlet配合從而實(shí)現(xiàn)提供了靈活易用的系統(tǒng)導(dǎo)航機(jī)制,可以有機(jī)的聯(lián)系系統(tǒng)中的各部分,使其脈絡(luò)更加清晰,提高了系統(tǒng)的可擴(kuò)充性和可維護(hù)性。
2 SSH組合構(gòu)架設(shè)計(jì)和實(shí)現(xiàn)
Struts簡化了基于MVC的Web應(yīng)用程序的開發(fā),由于它的設(shè)計(jì)主要針對(duì)表示層,在后端邏輯層支持方面沒有表示層應(yīng)用效果佳,因而為了彌補(bǔ)它在邏輯層方面功能的不足,有必要研究改進(jìn)Struts框架。Spring因自身良好的模塊化可以有效的組織系統(tǒng)的中間層,在事物管理方面發(fā)揮著獨(dú)特的優(yōu)勢(shì)。Hibernate因自身優(yōu)勢(shì)在于持久化則可以大大減少操作數(shù)據(jù)庫的工作量。所以,可綜合上述內(nèi)容在J2EE架構(gòu)的基礎(chǔ)上整合Hibernate、Struts、Sping,使三者形式一個(gè)組合框架,充分發(fā)揮在表示層、業(yè)務(wù)層及持久層等方面的作用。
2.1 SSH組合構(gòu)架設(shè)計(jì)
SSH組合構(gòu)架在設(shè)計(jì)方面追求簡潔Web框架,功能方面也較為齊全,以此來降低層與層之間的耦合度和提高組件的可復(fù)用性。SSH組合構(gòu)架分表示層、持久層和業(yè)務(wù)層,功能和處理程序方面都有明確的規(guī)定,不能混合至其他層當(dāng)中,它們之間會(huì)有一個(gè)通信接口。
首先是表示層的設(shè)計(jì),它通用的控制組件ActionServle主要承擔(dān)MVC中的Controller角色,以Strutsconfig.xml為核心,通過運(yùn)用Action類來實(shí)現(xiàn)鏈接轉(zhuǎn)向、業(yè)務(wù)邏輯等方面處理,其主要功能有:為顯示提供一個(gè)模型、管理用戶的請(qǐng)求、做出相應(yīng)的相應(yīng)及進(jìn)行框架驗(yàn)證等。其次是業(yè)務(wù)層設(shè)計(jì);實(shí)現(xiàn)業(yè)務(wù)組件的關(guān)聯(lián)組裝基于Struts,主要功能處理應(yīng)用程度的業(yè)務(wù)邏輯和執(zhí)行管理事業(yè)和程序,提升系統(tǒng)的可擴(kuò)展性和兼容性。第三持久層設(shè)計(jì);實(shí)現(xiàn)數(shù)據(jù)庫交互的常用操作借助Hibernate,還可對(duì)數(shù)據(jù)庫訪問性能進(jìn)行優(yōu)化,提升編碼效率。之后將數(shù)據(jù)庫連接對(duì)象,提高編碼效率。其主要功能有:提供數(shù)據(jù)接口支持業(yè)務(wù)邏輯層,刪除,更新及存儲(chǔ)數(shù)據(jù)庫記錄。
SSH組合構(gòu)架設(shè)計(jì)的實(shí)現(xiàn)需要考慮Spring應(yīng)用環(huán)境的裝載,通過使用Spring的ContextLoaderPlugin來進(jìn)行Struts的ActionServlet裝載Spring應(yīng)用程序環(huán)境,它可以在struts應(yīng)用啟動(dòng)時(shí)被初始化且關(guān)閉時(shí)被銷毀,總之,三方合成的SSH組合構(gòu)架設(shè)計(jì)可以快速構(gòu)建高效穩(wěn)定的應(yīng)用系統(tǒng),實(shí)現(xiàn)層間的松散耦合。
3 結(jié)束語
總之,本文研究中通過在人力資源管理系統(tǒng)開發(fā)中結(jié)合Hibernate、Struts、Sping及J2EE的特點(diǎn),實(shí)現(xiàn)了系統(tǒng)結(jié)構(gòu)的較強(qiáng)的指導(dǎo)作用,以致在后續(xù)項(xiàng)目實(shí)施過程中表現(xiàn)出了良好的性能,因此,有效結(jié)合三種開源框架可充分提高系統(tǒng)的維護(hù)性和可擴(kuò)展性,便于企業(yè)級(jí)系統(tǒng)更好的應(yīng)用。
參考文獻(xiàn):
[1]龔濤.基于J2EE框架的會(huì)計(jì)信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué),2010.
[2]王春超.基于J2EE架構(gòu)的SSH組合框架的研究[D].長春理工大學(xué),2010.
[3]伍飛.基于J2EE架構(gòu)的SSH框架研究及其在HRMS中的應(yīng)用[D].江南大學(xué),2010.
[4]孟凡迪.基于J2EE架構(gòu)的江蘇電信10000號(hào)外呼營銷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].東南大學(xué),2009.
作者簡介:張洋(1991-),男,浙江杭州人,在讀大學(xué)生,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)。
作者單位:寧波工程學(xué)院,浙江寧波 315016