摘要:通過對考核管理現狀的分析,結合Struts、Spring、Hibernate框架開發系統的優勢,設計并實現了基于Struts、Spring、Hibernate框架的考核管理系統,并經全面測試和試運行。驗證了管理系統的各項功能,系統操作簡單、快捷,考核結果準確可靠。
關鍵詞:考核管理;Struts;Spring;Hibernate
中圖分類號:TP315文獻標識碼:A文章編號:1009-3044(2008)34-1915-02
Design and Realize The Assessing Management System Based on Struts, Spring and Hibernate
MI Hong, WU Zhao-ming
(Nanjing Communications Institute of Technology, Nanjing 211188, China)
Abstract: By analyzing the status of assessing management and the advantages of Struts, Spring and Hibernate frame-developed system, this paper designs and realizes the assessing management system on the basis of the Struts, Spring and Hibernate frame. By tested and run thoroughly, this system is easily operated and run stably.
Key words: assessing management; Struts; Spring; Hibernate
1 引言
隨著人類社會進入信息時代,計算機越來越多地活躍在社會各個領域:管理、網絡、計算、控制、多媒體等。并且在某些方面成為不可缺少的工具,尤其在管理方面,管理軟件的出現使大量繁瑣復雜的問題變得簡單易行。
現今企事業的規模不斷擴大,人員數量急劇增加,有關人事的各種信息量也成倍增長。面對龐大的信息量,需有相應管理系統來提高工作效率。實現信息管理的規范化、科學化。
目前大型企業的考核基本上仍采取紙質的考核方法,考核評價通過手工打分的方式,一方面,這種考核方式統計結果需要花費大量的時間,同時由于采用人工方式,自動化程度較低, 可靠性、準確性也較低。不可避免地存在統計上的錯誤。另一方面,考核項目單一,很難正確反映相關人員的業績;而部分企業采用傳統的軟件考核方式,大多是基于CS系統的,需要在各使用的客戶端安裝軟件,占用一定的硬盤空間,此外由于整個結構的緊密耦合,造成了系統升級和維護的困難。為了對其各種資源進行有效、充分地利用和整合,實現管理的自動化,科學化。本文對此進行了相關的研究和探索。
本文正文分為五部分。第一部分簡要介紹了相關內容的研究現狀;第二部分概述了考核管理系統的研究現狀;第三部分介紹考核管理系統的框架設計;第四部分介紹考核管理系統結構;第五部分闡述了基于Struts、Spring、Hibernate框架的考核管理系統設計與實現。
2 研究現狀
對于各種管理系統的開發一直是熱點,但是大部分是基于ASP或JSP技術,在實現過程中沒有考慮系統的擴展性、安全性,目前國內外還沒有利用Struts、Spring、Hibernate三種框架技術相結合的系統;針對行業管理系統中,考核指標的多變性,構建一種易于擴展的系統結構模型,提供網絡化的考核管理平臺。使用該系統能夠在規范管理的基礎上結合管理實踐,充分滿足考核需求;對考核流程進行科學、規范、系統的管理。
3 基于Struts、Spring、Hibernate框架的考核管理系統的框架設計
基于Struts、Spring、Hibernate框架的考核管理系統的框架設計如圖1所示[1]。
3.1 表示層(The Presentation Layer)
管理用戶的請求,做出相應的響應。
提供一個Controller,委派調用業務邏輯和其它上層處理。
處理異常,拋給Struts Action。
為顯示提供一個模型。
UI驗證。
3.2 持久層(The Persistence Layer)
查詢對象的相關信息。
存儲,更新,刪除數據庫記錄。
3.3 業務層(The Business Layer)
處理應用程序的業務邏輯和業務校驗。
管理事物。
允許與其它層相互作用的接口。
管理業務層級別的對象的依賴。
在顯示層和持久層之間增加了一個靈活的機制,使得他們不直接的聯系在一起。
通過揭示從顯示層到業務層之間的Context來得到business services。
管理程序的執行(從業務層到持久層)。
4 基于Struts、Spring、Hibernate框架的考核管理系統實現
4.1 基于Struts框架的表現層實現[2]
考核管理系統實現中,處理前端請求的Action都放在包com.sihitech.assess.client.action中。為了保證所有Action表現出一致的行為,這些類都從一個統一的抽象基類BaseAction派生。BaseAction繼承了Struts的org.apache.struts.action.Action類,BaseAction的UML結構圖如圖2所示。
BaseAction的代碼實現需要注意方法setServlet(),通過Spring框架的Web上下文組件,將Spring框架與Struts結合在一起。方法clientNOCache(HttpServletResponse response)用來防止客戶端緩存服務器端的頁面信息。
4.2 基于Spring實現業務層[3-4]
控制反轉IoC(Inversion of Control)將類之間的依賴轉移到外部的配置文件中, 避免在調用類中硬編碼實現類,因此也被稱作依賴注入(Dependency Injection)。在以往的開發中, 通常利用工廠模式(Factory)來解決此類問題,其實不管是工廠模式還是依賴注入,調用類與實現類不可能沒有任何依賴,工廠模式中工廠類通常根據參數來判斷該實例化哪個實現類,Spring IoC將需要實例的類在配置文件中配置。使用Spring IoC能得到工廠模式同樣的效果,而且編碼更加簡潔。
考核管理系統實現中,所有配置信息都在文件applicationContext-hibernate.xml中。配置文件的部分樹型結構如圖3所示。
述文件中所有的Bean不是在程序的運行過程中生成實例對象,而是統一由容器Spring來實現。在配置文件中可以通過
4.3 基于Hibernate實現持久層[5-6]
數據庫中的每個表,都對應商業實體或實體之間的關聯。為每個表建立實體Bean,通過hbm.xml文件定義實體Bean與數據庫中表之間的映射關系。Hibernate框架的核心任務是根據hbm.xml文件中配置信息建立實體對象與關系數據庫二維表之間的映射,即所謂的O/R映射。對應與考核計劃的實體Bean AssessPlan的UML結構圖如圖4所示。
從UML結構圖中可以清晰的看到,實體Bean AssessPlan實現了接口AssessPlan,并為每個屬性提供了setter/getter方法。
5 基于Struts、Spring、Hibernate框架的考核管理系統測試
基于Struts、Spring、Hibernate框架的考核管理系統管理員登錄后界面如圖5所示。
通過改變考核指標來測試系統的擴展性和可維護性,由于我們的架構通過Hibernae和Struts很好的解決了持久層的存儲與表示層的展現問題,因此,程序代碼和界面UI設計不需要任何改動。通過測試系統架構完美的解決了系統擴展性和可維護性。達到了系統設計目標。
6 結束語
基于Struts、Spring、Hibernate框架的考核管理系統于2007年4月底設計實現后, 進行了全面測試。測試結果表明管理系統的各項功能均已實現,考核結果準確可靠。該考核管理系統用Struts來設計界面,以Mysql為后臺數據庫,采用面向對象的語言編程,實現考核合理化、科學化,該系統充分考慮用戶操作簡便、快捷。
參考文獻:
[1] 使用struts+spring+hibernate組裝web應用[EB/OL].http://blog.csdn.net/binger819623/archive/2006/05/09/714099.aspx.
[2] 孫衛琴.精通Struts:基于MVC的JAVA Web設計與開發[M].北京:電子工業出版社,2004
[3] 羅時飛.精通Spring[M].北京:電子工業出版社,2007.
[4] Spring構架師對Spring的介紹[EB/OL].http://spaces.msn.com/yuqf/blog/cns!87C9FE055E356689!112.entry?_c=BlogPart.
[5] 劉洋.精通Hibernate[M].北京:電子工業出版社,2005.
[6] Hibernate配置及數據庫映射建立[EB/OL].http://www.chinageren.com/jc/HTML/117906.html.