陳釗


摘要:傳統企業級應用程序開發主要依托SSH框架,但由于SSH框架中國Struts層面過多、Hibernate批量數據處理能力較弱,在批量對象代碼增刪查改、功能響應方面,不如“JSP+JAVAbean”更加方便簡潔。這一情況下,基于JAVA語言匯編的SSM框架,在web應用系統程序中的開發使用,可以通過Spring+SpringMVC+Mybatis(SSM)的開發框架組合,由Aop提供切面編程、SpringMVC方法攔截,對系統不同層級作出分離定制、業務功能調優,大幅度提升代碼復用率、可維護性。
關鍵詞:SSM框架;Web應用開發;設計;實現
中圖分類號:TP393? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)10-0226-02
1 SSM框架技術的主要內容分析
1.1 Spring框架技術
Spring是為解決企業復雜性應用程序開發,而創建的開源框架,其分層架構內包含核心容器、Spring AOP、Spring DAO、Spring ORM、Spring Web等組成模塊,分為表現層、業務層、持久層等框架整合資源,組成架構如圖1所示。利用MetaData指定系統Bean應用后臺對象進行實例化、配置和組裝,以上控制反轉IOC操作,均在Spring容器框架中完成[1-2]。
首先核心容器借助于BeanFactory工廠模式組件,負責應用程序的Bean對象配置和依賴性規范,讀取如何創建bean、bean生命周期、bean依賴等定義信息,通過new關鍵字將Bean對象進行實例化,并將Bean應用組件模型,與實際的應用程序代碼分開。之后Spring AOP模塊主要功能為,將面向切面編程機制的配置管理集成到Spring框架之中,可以更加方便快捷為系統應用程序的Bean對象,提供事務管理服務。
而Spring DAO作為Spring框架的抽象層,則是利用面向JDBC的異常層次結構,針對應用程序開發異常執行信息、數據庫錯誤消息做出簡化處理,降低程序編寫異常、代碼執行錯誤的概率。隨后Spring ORM模塊位于Spring DAO的上一層,其提供一個簡化JDBC API操作框架,對包含Hibernate、iBatis SQL Map和JDO等對象關系工具,提供技術實現的集成支持。最后Spring Web模塊,是建立在應用程序Spring上下文配置文件中的模塊,用于多種代碼執行、功能服務請求的簡化處理,以及將請求參數綁定到相應的域對象上。
1.2 Mybatis框架技術
Mybatis為定制化SQL查詢、存儲過程以及高級映射框架的持久層框架,主要通過xml或注解的方式,將需要執行的statement、preparedStatemnt等原生信息做出配置和映射。在數據庫封裝操作執行的過程中,只需將java類和statement類對象集合轉換為SQL語句,再由mybatis框架執行SQL語句,將結果映射為java對象,并返回數據庫中進行記錄,可以實現更加方便快捷數據輸入輸出與管理。
1.3 SpringMVC框架技術
傳統系統應用程序開發模式,通常采用Jsp+JavaBean+Servlet方案,由JSP服務器接收用戶訪問、數據處理請求,JavaBean應用組件用于建立功能服務和數據庫之間的連接,Servlet則作為項目控制器進行瀏覽器響應結果的發送或接收[3]。這一web應用程序框架實現的方式,最大問題為每個Servlet服務連接器對應一個請求路徑,而對于多種服務組件、配置文件等資源的管理會占用大量內存空間。SpringMVC框架是圍繞Servlet的請求驅動設計,其核心為DispatcherServlet類,通過Servlet接口發送與接收控制請求,通過模型對象、分派器展示web請求結果,解決視圖和控制器(V-C)之間的交互問題。
SpringMVC框架中應用開發執行流程,需要用到DisPatcherServlet前端控制器、HandLer處理器、HandlerMapping處理映射器、HandlerAdapter處理適配器、ViewResolver視圖解析器、View視圖等組件,具體組件功能執行如圖2所示。其中DisPatcherServlet主要功能,在于接收用戶瀏覽器輸入的url格式請求,由DisPatcherServlet調用其他組件,配合完成將瀏覽器請求分發給Spring Controller的工作,大大降低不同組件之間的耦合性[4]。
之后HandlerMapping處理映射器接口,通常以xml或注解方式,記錄url信息與處理器的映射。同時HandLer后端處理控制器,用于對用戶請求進行處理,包括Spring Controller層業務代碼的處理。HandlerAdapter處理適配器,主要負責獲取ModelAndView,執行控制器處理函數,再通過適配器規則調用、擴展適配器等方式,對更多類型處理器進行執行[5]。
最后,Controller控制器接口、ViewResolver視圖解析器等模塊,為并發用戶請求處理,以及view視圖渲染和數據填充,并將處理結果通過網頁向用戶展示的模塊。在Controller接口收到用戶請求后,會實時響應調用模型進行處理,再返回ModelAndView至響應視圖對象給DispatcherServlet前端控制器。而ViewResolver視圖解析器,則支持不同的jsp、freemarker、velocity實現類,通過頁面標簽或者模板技術,在Web應用模型中查找View對象,將渲染結果通過頁面展示給用戶,一般根據不同的業務功能需求開發web頁面。
2 基于SSM框架的Web應用開發設計與實現
2.1 系統應用體系架構
在多種功能服務管理應用開發中,通常采取J2EE+SSM服務器端框架方案,運用分層化應用組件,將整個Web應用管理系統,分為權限管理、知識管理、資訊管理、活動管理等部分。根據項目需求與設計要求,利用Spring、SpringMVC、Mybatis的開發框架,完成數據持久層、服務層、邏輯控制層、表示層的建構,滿足系統頁面多樣化的服務需求。
2.2 數據持久層
相比于傳統JDBC數據庫管理而言,使用MyBatis應用程序框架,創建SQL Session Factory實例,以及對JDBC數據庫封裝,能大大簡化注冊驅動、connection創建、statement創建、手動參數設置、結果集檢索等的代碼執行流程,支持SQL語句對其他連接池的配置,還可以修改mapper文件中SQL配置、提高應用程序開發的效率。在完成SQL語句查詢、執行后,Mybatis會將返回的ResultSet對象,轉換成Java對象。因此方便獲取、寫出SQL語句的執行結果,才是MyBatis框架技術的核心競爭力。
2.3 服務層
對于網站數據庫訪問、數據源信息獲取等的配置與管理,通常采用Spring DAO訪問對象模式,定義接口類RoleDao、接口實現類RoleDaoImpl,從任何配置好的數據源處,根據ID查詢用戶角色信息,最后在Mybatis Mapper配置文件中添加
2.4 邏輯控制層
在Web應用系統用戶、功能服務增刪改等執行過程中,需要Form表單對用戶信息的各個字段作出臨時存儲,這時就會借助于SpringMVC設置表單類RoleInfoForm。其中用戶信息表的每個字段,都被定義為Letter)和Setter)類,然后在Controller函數參數列表,直接出JavaBean對象,再利用MetaData指定系統應用后臺Bean對象,進行實例化、配置和封裝,以此完成配置文件請求地址、信息存儲的分配與管理。
2.5 表示層
對于web應用系統頁面視圖表示、功能指令跳轉等服務的實現,則是由SpringMVC框架通過Dispatcher Servlet核心,負責鏈接地址、提交表單請求的統一分發,轉發到注冊過的Controller類中。先由用戶向服務器發送請求,再利用DispatcherServlet對URL請求作出解析,得到請求資源標識符(URI),之后調用HandlerMapping配置處理器、攔截器對象,最后將配置好視圖解析器ftl文件,以及ModelAndView對象渲染結果,返回至用戶客戶端。
3 結束語
SSM作為典型的MVC框架,在利用該框架整合結構進行系統開發過程中,通常被劃分為表示層、控制層、服務層、數據庫訪問層等層級。其中Spring為提供切面編程、Ioc解耦的容器框架,通過控制反轉(或依賴注入)對軟件設計對象做出解耦操作,讓Spring Bean以配置文件進行組合,被用于復雜應用程序的分層架構設計。之后SpringMVC主要圍繞Servlet展開模型對象設計,運用多種控制器處理用戶發送的請求,再將相關處理結果返回至View視圖。最后MyBatis為支持普通SQL查詢、存儲過程,以及高級映射的優秀持久層框架,主要針對整體應用架構的開發需求,更加方便的管理數據輸入輸出、SQL語句執行[1]。
參考文獻:
[1] 賀雪梅.web應用開發中的SSM框架設計[J].電子世界,2019(1):206.
[2] 唐權.SSM框架在JavaEE教學中的應用與實踐[J].福建電腦,2017,33(12):93-94,61.
[3] 李洋.SSM框架在Web應用開發中的設計與實現[J].計算機技術與發展,2016,26(12):190-194.
[4] 鄒紅霆.基于SSM框架的Web系統研究與應用[J].湖南理工學院學報(自然科學版),2017,30(1):39-43.
[5] 張宇,王映輝,張翔南.基于Spring的MVC框架設計與實現[J].計算機工程,2010,36(4):59-62.
【通聯編輯:謝媛媛】