邱丹萍
摘要:在Java企業(yè)級應(yīng)用開發(fā)中,SSM框架逐漸被市場接受和認(rèn)可,這是一個輕量級的框架,也是目前高校教學(xué)中比較常用的一種框架技術(shù)。在web系統(tǒng)的開發(fā)中使用SSM框架既可以實現(xiàn)分層設(shè)計,讓系統(tǒng)更加便于維護(hù)、松耦合的特點;又能讓開發(fā)人員更加專注于系統(tǒng)業(yè)務(wù)的開發(fā),而且通過使用框架可以節(jié)省代碼的書寫量,提升開發(fā)效率。對于計算機(jī)專業(yè)的學(xué)生來說,學(xué)習(xí)此框架技術(shù)既可以提升專業(yè)素養(yǎng),也為以后在企業(yè)進(jìn)行開發(fā)工作起到了很好的銜接作用。
關(guān)鍵詞:企業(yè)級開發(fā);Spring;Mybatis;Springmvc;框架技術(shù)
中圖分類號:TP311 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)17-0081-02
Abstract: In Java enterprise application development, SSM framework is gradually accepted and recognized by the market, which is a lightweight framework, and also a commonly used framework technology in college teaching. In the development of web system, using SSM framework can not only realize layered design, make the system more convenient for maintenance and loose coupling, but also enable developers to focus more on the development of system business, and can save the amount of code writing and improve the development efficiency by using the framework. For students majoring in computer science, learning this framework technology can not only improve their professional quality, but also play a good role in the future development of enterprises.
Key words: enterprise development; spring; mybatis; springmvc; framework technology
1 背景
隨著互聯(lián)網(wǎng)的興起,Web系統(tǒng)的使用變得越來越廣泛,以Java語言為載體的Javaweb的開發(fā)因為具有可移植性、跨平臺的特點,因而也是一直被企業(yè)追捧[1]。在企業(yè)級應(yīng)用開發(fā)中,Web系統(tǒng)的開發(fā)大多采用常見的模型-視圖-控制層(MVC)開發(fā)模式,這種開發(fā)模式很好地將我們的業(yè)務(wù)實現(xiàn)進(jìn)行了模塊劃分;結(jié)構(gòu)設(shè)計也由傳統(tǒng)的可移植性差的EJB模式轉(zhuǎn)變?yōu)橐恍┹p量級的框架結(jié)構(gòu)[2]。
2 SSM框架技術(shù)分析
企業(yè)級開發(fā)的早期常見的是SSH框架,但是此框架因為struts安全性方面的問題,所以逐漸被企業(yè)棄用,取而代之的是輕量級的SSM框架,它主要由Spring、Mybatis、Springmvc三個框架構(gòu)成。在Web開發(fā)中,這三個框架各司其職,Spring負(fù)責(zé)系統(tǒng)中業(yè)務(wù)邏輯,Mybatis負(fù)責(zé)和數(shù)據(jù)庫進(jìn)行交互,SpringMVC里面其實已經(jīng)具備一個完整的MVC模式負(fù)責(zé)將將用戶請求以數(shù)據(jù)模型的形式將結(jié)果渲染回web頁面。
2.1 Spring技術(shù)
Spring是分層的輕量級開源框架,它內(nèi)部集成了20個模塊,這些模塊使得Spring對Web開發(fā)的每一層都能提供技術(shù)支持,Spring在開發(fā)中主要用于處理業(yè)務(wù)邏輯。Spring在設(shè)計理念上也是基于javaBean編程,他的兩大核心技術(shù):控制反轉(zhuǎn)\依賴注入(IOC\DI)和面向切面編程使得以前只可能由EJB完成的工作,現(xiàn)在可以由JavaBean完成[3]。在依賴注入中對Bean的裝配方式有多種:設(shè)置注入、構(gòu)造注入、p命名空間注入、基于注解的注入。但是最常用的還是基于注解的注入方式,使用注解的方式可以簡化我們在Spring的配置文件中對Bean的配置,讓開發(fā)人員更加專注業(yè)務(wù)流程的開發(fā)。面向切面編程中主要是將業(yè)務(wù)中事物、日志處理的操作方法與業(yè)務(wù)方法分離,使得開發(fā)者不用在每次的業(yè)務(wù)編寫中書寫重復(fù)的事物及日志操作,也便于維護(hù)。在AOP中主要包含五種增強(qiáng)處理的方法,在業(yè)務(wù)方法中如果需要植入這些增強(qiáng)方法,都需要在Spring的配置文件中進(jìn)行配置,為了減少配置的工作量,我們可以使用 AspectJ框架中的注解方式來標(biāo)注增強(qiáng)方法。
2.2 Mybatis技術(shù)
Mybatis框架主要是對數(shù)據(jù)訪問層進(jìn)行操作,它的功能特點類似于JDBC。在使用Mybatis框架時,我們需要將Mybatis框架本身的核心包、依賴包及連接數(shù)據(jù)庫的驅(qū)動包導(dǎo)入工程。為了實現(xiàn)對數(shù)據(jù)庫的增刪改查操作,Mybatis框架要解決Java對象和數(shù)據(jù)庫表中數(shù)據(jù)類型不匹配的問題。通過Mybatis的核心配置文件(mybatis-config.xml)及Mapper映射文件的配置恰好可以解決這一問題。在Mybatis的核心配置文件中主要對數(shù)據(jù)庫連接信息、別名、數(shù)據(jù)源、事務(wù)管理、Mapper映射文件接口路徑的配置,而且這些配置信息必須符合配置文件中子元素的先后順序,否則將會無法解析。Mapper映射文件主要根據(jù)業(yè)務(wù)需要將SQL語句嵌套進(jìn)Mapper文件的子元素中,從而實現(xiàn)對數(shù)據(jù)庫的增刪改查操作。在Mapper映射文件中需要書寫大量的Sql語句,因而對開發(fā)人員的數(shù)據(jù)庫水平要求較高。使用Mybatis框架開發(fā)者也可以實現(xiàn)對數(shù)據(jù)庫中多表的復(fù)合操作,這也是Mybatis優(yōu)于Hibernate框架的體現(xiàn)。
2.3 SpringMVC技術(shù)
MybatisSpringMVC是一個輕量級的web框架,它使用MVC設(shè)計思想來解耦web層,使得開發(fā)更加簡潔,與Spring無縫結(jié)合,并且數(shù)據(jù)驗證更加靈活[4]。在最初的Java EE技術(shù)中,并沒有使用框架的概念,基本采用Jsp+Servlet+JavaBean的模式進(jìn)行系統(tǒng)開發(fā)。在最初的開發(fā)模式中,JSP用來接收用戶請求及將處理結(jié)果呈現(xiàn)給用戶;JavaBean用來建立和數(shù)據(jù)庫的連接,Servlet被用作項目中的控制器來接收用戶的請求并給出響應(yīng)結(jié)果。這種方法的最大問題是在傳統(tǒng)方法中,每個Servlet對應(yīng)一個請求路徑。因此,將會有太多的Servlet,無論是從源文件的數(shù)量還是從配置文件的內(nèi)容,這都是不容易管理的,并且將會有太多的對象,從而占用大量的內(nèi)存空間。此外,在處理請求時仍有許多不方便的操作。但是,SpringMVC解決了V-C之間的交互問題,也就是視圖和控制器之間的交互問題。
3 SSM框架的整合
前面分別介紹了SSM三個框架的技術(shù)特點,但我們在系統(tǒng)開發(fā)中要使用這三個框架,還需要對這三個框架進(jìn)行整合。在Spring與Mybatis的整合過程中,我們可以把Mybatis核心配置文件中的數(shù)據(jù)源、事物、映射接口路徑等的配置交給Spring配置文件,自身只進(jìn)行類別名的配置;在這一過程中,也體現(xiàn)了Spring框架的核心作用。在Mybatis與SpringMVC的整合過程中,既需要在SpringMVC的配置文件中對控制器、適配器、處理器、視圖解析器進(jìn)行配置,也需要在web.xml中對前端控制器、過濾器進(jìn)行配置。
4 SSM框架的應(yīng)用前景
SSM框架作為企業(yè)級應(yīng)用開發(fā)的一個主流框架,應(yīng)用的范圍也越來越廣。SpringMVC及Mybatis框架的出現(xiàn)也很好地解決了Struts2、Hibernate的不足,Spring對其他開源框架提供了集成支持,方便解耦,簡化了開發(fā),因而SSM框架的認(rèn)可度也在逐漸增強(qiáng)。在實際開發(fā)中,使用SSM框架進(jìn)行管理平臺、電商平臺、教務(wù)平臺等的開發(fā)也是隨處可見。
5 結(jié)束語
本文針對企業(yè)級應(yīng)用開發(fā)中spring、mybatis、springMVC三大框架進(jìn)行了簡要分析,并且介紹了這三大框架的整合方式及應(yīng)用前景??蚣芗夹g(shù)是軟件開發(fā)人員必須要掌握的技能,它不僅能提升我們的工作效率,也能讓我們的軟件開發(fā)作品在質(zhì)量上得到保證。
參考文獻(xiàn):
[1] 李洋. SSM框架在Web應(yīng)用開發(fā)中的設(shè)計與實現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展, 2016, 26(12): 190-194.
[2] Amstrong E, Ball S, Bodoff S, et al. The J2EE 1.4 tutorial[M]. Sun Micro Systems Inc., 2005: 2-25.
[3] 唐權(quán). SSM框架在JavaEE教學(xué)中的應(yīng)用與實踐[J].福建電腦,2017,33(12):61,93-94.
[4] 賀雪梅. web應(yīng)用開發(fā)中的SSM框架設(shè)計[J].電子世界,2019(1):206.
【通聯(lián)編輯:謝媛媛】