丁妍 翟高粵

摘 要:SSM是當今流行的Java Web開發框架,它能解決大部分企業應用開發的復雜性問題。對于Java開發人員來說,掌握企業應用框架開發的基本方法,是進行編寫應用軟件的必備技能之一。本文主要介紹SSM框架開發的基本方法及應用,并通過一個實例說明SSM框架編程的基本使用方法,從而感受SSM編程的便利。
關鍵詞:SSM框架;MySQL;JDBC
中圖分類號:TP183? ?文獻標識碼:A
一、引言
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內容),常作為數據源較簡單的web項目的框架。Spring就像是整個項目中裝配bean的大工廠,在配置文件中可以指定使用特定的參數去調用實體類的構造方法來實例化對象。也可以稱之為項目中的粘合劑。SpringMVC在項目中攔截用戶請求,它的核心Servlet即DispatcherServlet承擔中介或是前臺這樣的職責,將用戶請求通過HandlerMapping去匹配Controller,Controller就是具體對應請求所執行的操作。SpringMVC相當于SSH框架中struts。mybatis是對jdbc的封裝,它讓數據庫底層操作變的透明。mybatis的操作都是圍繞一個sqlSessionFactory實例展開的。mybatis通過配置文件關聯到各實體類的Mapper文件,Mapper文件中配置了每個類對數據庫所需進行的sql語句映射。在每次與數據庫交互時,通過sqlSessionFactory拿到一個sqlSession,再執行sql命令。頁面發送請求給控制器,控制器調用業務層處理邏輯,邏輯層向持久層發送請求,持久層與數據庫交互,后將結果返回給業務層,業務層將處理邏輯發送給控制器,控制器再調用視圖展現數據。
二、相關理論
(一)SpringJDBC
Spring JDBC是對傳統JDBC訪問的簡單封裝,使用Spring JDBC之后,可以省去一部分以前需要開發人員編寫的訪問數據的底層操作,比如注冊驅動、獲得連接、執行查詢等等。Spring JDBC相當于一個簡單封裝的持久層框架,原始功能比較簡單,使用起來也比較簡單,如果開發一些小型項目,是可以直接使用的,如果是一些大型項目,由于它并不是真正的orm框架,因此需要自己封裝一些工具,如果有能力封裝的話,那么Spring JDBC用起來是非常舒服的,性能也很強,不比mybatis差。
(二)MySQL
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,屬于 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。
MySQL是一種關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型和大型網站的開發都選擇MySQL作為網站數據庫。
MySQL和Spring JDBC進行配合使用,兼容性好,開發效率高。
三、SSM框架詳解
(一)MyBatic
MyBatis是當前主流的Java持久層框架之一,它是一種ORM框架,它的性能優異,具有高度的靈活性、可優化性和易于維護等特點,受到了廣大互聯網企業的青睞,是目前大型互聯網項目的首選框架。MyBatis 的主要思想是將程序中的大量 SQL 語句剝離出來,使用 XML 文件或注解的方式實現 SQL 的靈活配置,將 SQL 語句與程序代碼分離,在不修改程序代碼的情況下,直接在配置文件中修改 SQL 語句。
MyBatis框架也被稱為ORM框架。所謂ORM就是一種為了解決面向對象與關系型數據庫中數據類型不匹配的技術,它通過描述Java對象與數據庫表之間的映射關系,自動將Java應用程序中的對象持久化到關系型數據庫的表中。ORM框架的工作原理如圖1所示。
從圖1可以看出,使用ORM框架后,應用程序不再直接訪問底層數據庫,而是以面向對象的方式來操作持久化對象,而ORM框架則會通過映射關系將這些面向對象的操作轉換成底層的SQL操作。另外,MyBatis還可以配置動態SQL并優化SQL,可以通過配置決定SQL的映射規則,對于一些復雜的和需要優化性能的項目來說,使用MyBatis更加合適。
(二)Spring
Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發。
從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。
Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴于Spring的特定類。
Spring通過一種稱作控制反轉(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。而IoC與JNDI相反,它不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。
Spring提供了面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用對象只實現完成業務邏輯。它們并不負責其它的系統級關注點,例如日志或事務支持。
Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,可以配置每個bean如何被創建。然而,Spring不應該被混同于傳統的重量級的EJB容器,它們經常是龐大與笨重的,難以使用。
Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發留給了你。
Spring的這些特征使開發人員能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。
(三)Spring MVC
Spring MVC屬于SpringFrameWork的后續產品,已經融合在Spring Web Flow里面。Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,從而在使用Spring進行WEB開發時,可以選擇使用Spring的Spring MVC框架或集成其他MVC開發框架,如Struts1,Struts 2等等。
Spring MVC Framework有這樣一些特點:它是基于組件技術的,全部的應用對象,無論控制器和視圖,還是業務對象之類的都是java組件。并且和Spring提供的其他基礎結構緊密集成。它不依賴于Servlet API(目標雖是如此,但是在實現的時候確實是依賴于Servlet的)可以任意使用各種視圖技術,而不僅僅局限于JSP支持各種請求資源的映射策略,它應是易于擴展的。
四、結論
本文對企業應用開發框架中使用的SSM進行理論、方法和步驟進行詳細說明。通過本文的學習,讀者能夠學會使用SSM框架進行企業應用開發的技術和方法,并能深切地體會到SSM框架進行編程的強大。
參考文獻:
[1]沃爾斯. Spring實戰 [M]. 人民郵電出版社,2016.
[2]卡內爾. Spring開發三劍客[M],人民郵電出版社, 2020.
[3] 陳恒等. Spring Boot從入門到實戰[M]. 清華大學出版社出版社,2020.
作者簡介:丁妍(2005.01—),女,現在蘇州經貿職業技術學院信息技術學院,研究方向:軟件開發。