邱丹萍

摘要:在Java企業(yè)級(jí)應(yīng)用開(kāi)發(fā)中,SSM框架逐漸被市場(chǎng)接受和認(rèn)可,這是一個(gè)輕量級(jí)的框架,也是目前高校教學(xué)中比較常用的一種框架技術(shù)。在web系統(tǒng)的開(kāi)發(fā)中使用SSM框架既可以實(shí)現(xiàn)分層設(shè)計(jì),讓系統(tǒng)更加便于維護(hù)、松耦合的特點(diǎn);又能讓開(kāi)發(fā)人員更加專(zhuān)注于系統(tǒng)業(yè)務(wù)的開(kāi)發(fā),而且通過(guò)使用框架可以節(jié)省代碼的書(shū)寫(xiě)量,提升開(kāi)發(fā)效率。對(duì)于計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生來(lái)說(shuō),學(xué)習(xí)此框架技術(shù)既可以提升專(zhuān)業(yè)素養(yǎng),也為以后在企業(yè)進(jìn)行開(kāi)發(fā)工作起到了很好的銜接作用。
關(guān)鍵詞:企業(yè)級(jí)開(kāi)發(fā);Spring;Mybatis;Springmvc;框架技術(shù)
中圖分類(lèi)號(hào):TP311 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):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)的使用變得越來(lái)越廣泛,以Java語(yǔ)言為載體的Javaweb的開(kāi)發(fā)因?yàn)榫哂锌梢浦残浴⒖缙脚_(tái)的特點(diǎn),因而也是一直被企業(yè)追捧[1]。在企業(yè)級(jí)應(yīng)用開(kāi)發(fā)中,Web系統(tǒng)的開(kāi)發(fā)大多采用常見(jiàn)的模型-視圖-控制層(MVC)開(kāi)發(fā)模式,這種開(kāi)發(fā)模式很好地將我們的業(yè)務(wù)實(shí)現(xiàn)進(jìn)行了模塊劃分;結(jié)構(gòu)設(shè)計(jì)也由傳統(tǒng)的可移植性差的EJB模式轉(zhuǎn)變?yōu)橐恍┹p量級(jí)的框架結(jié)構(gòu)[2]。
2 SSM框架技術(shù)分析
企業(yè)級(jí)開(kāi)發(fā)的早期常見(jiàn)的是SSH框架,但是此框架因?yàn)閟truts安全性方面的問(wèn)題,所以逐漸被企業(yè)棄用,取而代之的是輕量級(jí)的SSM框架,它主要由Spring、Mybatis、Springmvc三個(gè)框架構(gòu)成。在Web開(kāi)發(fā)中,這三個(gè)框架各司其職,Spring負(fù)責(zé)系統(tǒng)中業(yè)務(wù)邏輯,Mybatis負(fù)責(zé)和數(shù)據(jù)庫(kù)進(jìn)行交互,SpringMVC里面其實(shí)已經(jīng)具備一個(gè)完整的MVC模式負(fù)責(zé)將將用戶(hù)請(qǐng)求以數(shù)據(jù)模型的形式將結(jié)果渲染回web頁(yè)面。
2.1 Spring技術(shù)
Spring是分層的輕量級(jí)開(kāi)源框架,它內(nèi)部集成了20個(gè)模塊,這些模塊使得Spring對(duì)Web開(kāi)發(fā)的每一層都能提供技術(shù)支持,Spring在開(kāi)發(fā)中主要用于處理業(yè)務(wù)邏輯。Spring在設(shè)計(jì)理念上也是基于javaBean編程,他的兩大核心技術(shù):控制反轉(zhuǎn)\依賴(lài)注入(IOC\DI)和面向切面編程使得以前只可能由EJB完成的工作,現(xiàn)在可以由JavaBean完成[3]。在依賴(lài)注入中對(duì)Bean的裝配方式有多種:設(shè)置注入、構(gòu)造注入、p命名空間注入、基于注解的注入。但是最常用的還是基于注解的注入方式,使用注解的方式可以簡(jiǎn)化我們?cè)赟pring的配置文件中對(duì)Bean的配置,讓開(kāi)發(fā)人員更加專(zhuān)注業(yè)務(wù)流程的開(kāi)發(fā)。面向切面編程中主要是將業(yè)務(wù)中事物、日志處理的操作方法與業(yè)務(wù)方法分離,使得開(kāi)發(fā)者不用在每次的業(yè)務(wù)編寫(xiě)中書(shū)寫(xiě)重復(fù)的事物及日志操作,也便于維護(hù)。在AOP中主要包含五種增強(qiáng)處理的方法,在業(yè)務(wù)方法中如果需要植入這些增強(qiáng)方法,都需要在Spring的配置文件中進(jìn)行配置,為了減少配置的工作量,我們可以使用 AspectJ框架中的注解方式來(lái)標(biāo)注增強(qiáng)方法。
2.2 Mybatis技術(shù)
Mybatis框架主要是對(duì)數(shù)據(jù)訪問(wèn)層進(jìn)行操作,它的功能特點(diǎn)類(lèi)似于JDBC。在使用Mybatis框架時(shí),我們需要將Mybatis框架本身的核心包、依賴(lài)包及連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)包導(dǎo)入工程。為了實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查操作,Mybatis框架要解決Java對(duì)象和數(shù)據(jù)庫(kù)表中數(shù)據(jù)類(lèi)型不匹配的問(wèn)題。通過(guò)Mybatis的核心配置文件(mybatis-config.xml)及Mapper映射文件的配置恰好可以解決這一問(wèn)題。在Mybatis的核心配置文件中主要對(duì)數(shù)據(jù)庫(kù)連接信息、別名、數(shù)據(jù)源、事務(wù)管理、Mapper映射文件接口路徑的配置,而且這些配置信息必須符合配置文件中子元素的先后順序,否則將會(huì)無(wú)法解析。Mapper映射文件主要根據(jù)業(yè)務(wù)需要將SQL語(yǔ)句嵌套進(jìn)Mapper文件的子元素中,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查操作。在Mapper映射文件中需要書(shū)寫(xiě)大量的Sql語(yǔ)句,因而對(duì)開(kāi)發(fā)人員的數(shù)據(jù)庫(kù)水平要求較高。使用Mybatis框架開(kāi)發(fā)者也可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中多表的復(fù)合操作,這也是Mybatis優(yōu)于Hibernate框架的體現(xiàn)。
2.3 SpringMVC技術(shù)
MybatisSpringMVC是一個(gè)輕量級(jí)的web框架,它使用MVC設(shè)計(jì)思想來(lái)解耦web層,使得開(kāi)發(fā)更加簡(jiǎn)潔,與Spring無(wú)縫結(jié)合,并且數(shù)據(jù)驗(yàn)證更加靈活[4]。在最初的Java EE技術(shù)中,并沒(méi)有使用框架的概念,基本采用Jsp+Servlet+JavaBean的模式進(jìn)行系統(tǒng)開(kāi)發(fā)。在最初的開(kāi)發(fā)模式中,JSP用來(lái)接收用戶(hù)請(qǐng)求及將處理結(jié)果呈現(xiàn)給用戶(hù);JavaBean用來(lái)建立和數(shù)據(jù)庫(kù)的連接,Servlet被用作項(xiàng)目中的控制器來(lái)接收用戶(hù)的請(qǐng)求并給出響應(yīng)結(jié)果。這種方法的最大問(wèn)題是在傳統(tǒng)方法中,每個(gè)Servlet對(duì)應(yīng)一個(gè)請(qǐng)求路徑。因此,將會(huì)有太多的Servlet,無(wú)論是從源文件的數(shù)量還是從配置文件的內(nèi)容,這都是不容易管理的,并且將會(huì)有太多的對(duì)象,從而占用大量的內(nèi)存空間。此外,在處理請(qǐng)求時(shí)仍有許多不方便的操作。但是,SpringMVC解決了V-C之間的交互問(wèn)題,也就是視圖和控制器之間的交互問(wèn)題。
3 SSM框架的整合
前面分別介紹了SSM三個(gè)框架的技術(shù)特點(diǎn),但我們?cè)谙到y(tǒng)開(kāi)發(fā)中要使用這三個(gè)框架,還需要對(duì)這三個(gè)框架進(jìn)行整合。在Spring與Mybatis的整合過(guò)程中,我們可以把Mybatis核心配置文件中的數(shù)據(jù)源、事物、映射接口路徑等的配置交給Spring配置文件,自身只進(jìn)行類(lèi)別名的配置;在這一過(guò)程中,也體現(xiàn)了Spring框架的核心作用。在Mybatis與SpringMVC的整合過(guò)程中,既需要在SpringMVC的配置文件中對(duì)控制器、適配器、處理器、視圖解析器進(jìn)行配置,也需要在web.xml中對(duì)前端控制器、過(guò)濾器進(jìn)行配置。
4 SSM框架的應(yīng)用前景
SSM框架作為企業(yè)級(jí)應(yīng)用開(kāi)發(fā)的一個(gè)主流框架,應(yīng)用的范圍也越來(lái)越廣。SpringMVC及Mybatis框架的出現(xiàn)也很好地解決了Struts2、Hibernate的不足,Spring對(duì)其他開(kāi)源框架提供了集成支持,方便解耦,簡(jiǎn)化了開(kāi)發(fā),因而SSM框架的認(rèn)可度也在逐漸增強(qiáng)。在實(shí)際開(kāi)發(fā)中,使用SSM框架進(jìn)行管理平臺(tái)、電商平臺(tái)、教務(wù)平臺(tái)等的開(kāi)發(fā)也是隨處可見(jiàn)。
5 結(jié)束語(yǔ)
本文針對(duì)企業(yè)級(jí)應(yīng)用開(kāi)發(fā)中spring、mybatis、springMVC三大框架進(jìn)行了簡(jiǎn)要分析,并且介紹了這三大框架的整合方式及應(yīng)用前景。框架技術(shù)是軟件開(kāi)發(fā)人員必須要掌握的技能,它不僅能提升我們的工作效率,也能讓我們的軟件開(kāi)發(fā)作品在質(zhì)量上得到保證。
參考文獻(xiàn):
[1] 李洋. SSM框架在Web應(yīng)用開(kāi)發(fā)中的設(shè)計(jì)與實(shí)現(xiàn)[J].計(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)用與實(shí)踐[J].福建電腦,2017,33(12):61,93-94.
[4] 賀雪梅. web應(yīng)用開(kāi)發(fā)中的SSM框架設(shè)計(jì)[J].電子世界,2019(1):206.
【通聯(lián)編輯:謝媛媛】