基于SSM整合框架的快速開發(fā)技術(shù)研究_第1頁
基于SSM整合框架的快速開發(fā)技術(shù)研究_第2頁
基于SSM整合框架的快速開發(fā)技術(shù)研究_第3頁
基于SSM整合框架的快速開發(fā)技術(shù)研究_第4頁
基于SSM整合框架的快速開發(fā)技術(shù)研究_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、長(zhǎng)江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院碩士研究生作 業(yè) 簿年 級(jí) 計(jì)算機(jī)科學(xué)S151 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 課程名稱 計(jì)算機(jī)新技術(shù)專題 姓 名 熊魏 交作業(yè)時(shí)間 2016年10月8日 基于SSM整合框架的快速開發(fā)技術(shù)研究熊魏長(zhǎng)江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院S151班學(xué)號(hào):2015713901引言框架,即framework。其實(shí)就是某種應(yīng)用的半成品,把不同應(yīng)用程序中有共性的一些東西抽取出來,做成一個(gè)半成品程序,這樣的半成品就是所謂的程序框架。軟件系統(tǒng)發(fā)展到今天已經(jīng)很復(fù)雜了,特別是服務(wù)器端軟件,涉及到的知識(shí)、內(nèi)容、問題太多,在某些方面使用別人成熟的框架,就相當(dāng)于讓別人幫你完成一些基礎(chǔ)工作。你只需要集中精力,完成系統(tǒng)的業(yè)

2、務(wù)邏輯設(shè)計(jì),這樣每次開發(fā)就不用白手起家,而是可以在這個(gè)基礎(chǔ)上開始搭建。使用框架的最大好處:減少重復(fù)開發(fā)工作量、縮短開發(fā)時(shí)間、降低開發(fā)成本,同時(shí),還有其它的好處,如:使程序設(shè)計(jì)更合理,程序運(yùn)行更穩(wěn)定等。基于這些原因,基本上現(xiàn)在在開發(fā)中,都會(huì)選用某些合適的開發(fā)框架,來幫助快速高效的開發(fā)應(yīng)用系統(tǒng)??蚣艿倪x擇,就是看哪個(gè)框架最合適,從而減少開發(fā)的工作量,提高開發(fā)的效率和質(zhì)量,并有效減少維護(hù)的工作量,最終達(dá)到節(jié)約綜合開發(fā)成,本獲取更多的收益。下面簡(jiǎn)單了解一下Spring MVC+Spring+Mybatis三大框架。2.技術(shù)架構(gòu)系統(tǒng)采用以spring為核心并整合了Spring mvc和mybatis的3

3、個(gè)輕量級(jí)框架技術(shù)的組合,即SSM整合框架。利用SSM整合框架可開發(fā)出分層、易擴(kuò)展、易維護(hù)的企業(yè)級(jí)應(yīng)用系統(tǒng)。, 能夠極大地滿足系統(tǒng)的需求。SSM框架結(jié)構(gòu)圖如圖2所示。隨著web應(yīng)用的規(guī)模、復(fù)雜度不斷升級(jí),對(duì)軟件架構(gòu)的復(fù)用性、可靠性、可擴(kuò)展性都提出了較高的要求。本課題采用了MVC這一軟件架構(gòu)模式,該模式成功實(shí)現(xiàn)了動(dòng)態(tài)的程序設(shè)計(jì),簡(jiǎn)化了后續(xù)對(duì)程序的修改以及擴(kuò)展,使部分程序的重復(fù)利用成為可能。此外,此模式簡(jiǎn)化了應(yīng)用程序的復(fù)雜度,使程序結(jié)構(gòu)更直觀?;贛VC架構(gòu)模式,本系統(tǒng)采用SSM框架,即Struct2,spring3.0,mybatis框架組合,采用此框架技術(shù)可以提高開發(fā)效率、降低程序的復(fù)雜度。圖1

4、 SSM框架結(jié)構(gòu)圖3 MVC設(shè)計(jì)模式MVC設(shè)計(jì)模式1是一種目前廣泛流行的軟件設(shè)計(jì)模式,它把一個(gè)應(yīng)用的各流程按照Model(模型)、View(視圖)、Controller(控制器)的方式進(jìn)行分離。本系統(tǒng)所采用的SSM整合框架就是根據(jù)MVC設(shè)計(jì)模式的基礎(chǔ)上發(fā)展起來,其中Struts2就是采用MVC模式建立起來的框架技術(shù),而Struts2正是需要與spring、Mybatis進(jìn)行無縫的集成,才能真正發(fā)揮MVC模式的作用。圖2 MVC設(shè)計(jì)模式的工作原理如圖1所示MVC設(shè)計(jì)模式的工作原理View部分即是應(yīng)用程序的用戶界面,用戶通過View層發(fā)送請(qǐng)求提交到Controller層;Controller層接受

5、請(qǐng)求根據(jù)具體需求調(diào)用Model層來處理,再根據(jù)Model層調(diào)用回來的結(jié)果進(jìn)行跳轉(zhuǎn)??芍狢ontroller層在整個(gè)流程中起到了橋梁的作用,控制數(shù)據(jù)的流向;而Model層負(fù)責(zé)業(yè)務(wù)邏輯的處理和數(shù)據(jù)庫訪問。4 Spring MVC技術(shù)研究Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架,即使用了MVC架構(gòu)模式的思想,將web層進(jìn)行職責(zé)解耦,基于請(qǐng)求驅(qū)動(dòng)指的就是使用請(qǐng)求-響應(yīng)模型,框架的目的就是幫助我們簡(jiǎn)化開發(fā),Spring Web MVC也是要簡(jiǎn)化我們?nèi)粘eb開發(fā)的。Spring Web MVC也是服務(wù)到工作者模式的實(shí)現(xiàn),但進(jìn)行可優(yōu)化。前

6、端控制器是DispatcherServlet;應(yīng)用控制器其實(shí)拆為處理器映射器(Handler Mapping)進(jìn)行處理器管理和視圖解析器(View Resolver)進(jìn)行視圖管理;頁面控制器/動(dòng)作/處理器為Controller接口(僅包含ModelAndView handleRequest(request, response) 方法)的實(shí)現(xiàn)(也可以是任何的POJO類);支持本地化(Locale)解析、主題(Theme)解析及文件上傳等;提供了非常靈活的數(shù)據(jù)驗(yàn)證、格式化和數(shù)據(jù)綁定機(jī)制;提供了強(qiáng)大的約定大于配置(慣例優(yōu)先原則)的契約式編程支持。Spring Web MVC框架也是一個(gè)基于

7、請(qǐng)求驅(qū)動(dòng)的Web框架,并且也使用了前端控制器模式來進(jìn)行設(shè)計(jì),再根據(jù)請(qǐng)求映射規(guī)則分發(fā)給相應(yīng)的頁面控制器(動(dòng)作/處理器)進(jìn)行處理。首先讓我們整體看一下Spring Web MVC處理請(qǐng)求的流程如圖3所示:圖3 Spring MVC 處理流程具體執(zhí)行步驟如下:1、首先用戶發(fā)送請(qǐng)求>前端控制器,前端控制器根據(jù)請(qǐng)求信息(如URL)來決定選擇哪一個(gè)頁面控制器進(jìn)行處理并把請(qǐng)求委托給它,即以前的控制器的控制邏輯部分;圖3中的1、2步驟;2、頁面控制器接收到請(qǐng)求后,進(jìn)行功能處理,首先需要收集和綁定請(qǐng)求參數(shù)到一個(gè)對(duì)象,這個(gè)對(duì)象在Spring Web MVC中叫命令對(duì)象,并進(jìn)行驗(yàn)證,然后將命令對(duì)象委托給業(yè)務(wù)對(duì)

8、象進(jìn)行處理;處理完畢后返回一個(gè)ModelAndView(模型數(shù)據(jù)和邏輯視圖名);圖3中的3、4、5步驟;3、 前端控制器收回控制權(quán),然后根據(jù)返回的邏輯視圖名,選擇相應(yīng)的視圖進(jìn)行渲染,并把模型數(shù)據(jù)傳入以便視圖渲染;圖3中的步驟6、7;4、 前端控制器再次收回控制權(quán),將響應(yīng)返回給用戶,圖3中的步驟8;至此整個(gè)結(jié)束。5 Spring技術(shù)研究Spring 是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的。框架的主要優(yōu)勢(shì)之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個(gè)組件,同時(shí)為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。Spring 框架是一個(gè)分層架構(gòu),由 6 個(gè)定義良好的模塊組成。Spring

9、模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理 bean 的方式。圖4 Spring框架架構(gòu)其核心模塊為IOC容器和AOP。4.1 IOC(Inversion of Control控制反轉(zhuǎn),又名依賴注入)IOC即依賴注入,利用java里的反射機(jī)制在運(yùn)行時(shí)動(dòng)態(tài)的去創(chuàng)建、調(diào)用對(duì)象,Spring框架就是在運(yùn)行的時(shí)候,根據(jù)Spring的applicationContext.xml配置文件來動(dòng)態(tài)的創(chuàng)建對(duì)象并調(diào)用對(duì)象的方法的,所以使用Spring框架后不需要用new方法創(chuàng)建而是通過框架自動(dòng)產(chǎn)生一個(gè)對(duì)象,只需要在xml文件中對(duì)bean進(jìn)行定義。Spring發(fā)展到3.0后,不需要在xml文件中逐個(gè)定義

10、bean對(duì)象,只需在調(diào)用的文件中使用Autowired來聲明所調(diào)用的對(duì)象即可,使開發(fā)更加簡(jiǎn)潔方便。4.2 AOP(Aspect-OrientedProgramming,面向方面編程)AOP即面向切面編程,其原理是利用代理的設(shè)計(jì)模式,未使用Spring時(shí),開發(fā)人員需要編寫大量的代碼來實(shí)現(xiàn)AOP,現(xiàn)在有了Spring對(duì)AOP的支持,不僅減輕了開發(fā)的工作量提高了開發(fā)的效率,也增強(qiáng)了程序的可靠性。本系統(tǒng)中Spring的AOP主要用于對(duì)事務(wù)的管理。Spring框架主要用于降低系統(tǒng)模塊之間的耦合度。其主要技術(shù)包括控制反轉(zhuǎn)(IOC)和面向切面編程(AOP)兩大方面。Spring降低耦合度的功能主要通過IOC

11、來實(shí)現(xiàn),IOC是Spring框架的核心,其原理可以理解為程序的所有組件都是被動(dòng)的,初始化和調(diào)用都有容器(Spring)的負(fù)責(zé)。另外Spring提供了AOP技術(shù),利用AOP可以對(duì)業(yè)務(wù)邏輯的各個(gè)部分進(jìn)行隔離,如:日志記錄、事務(wù)處理等,從而使得業(yè)務(wù)邏輯各部分的耦合度降低,提高程序的可重用性和開發(fā)效率。4.3 spring的主要特性。(1)降低組件之間的耦合度,實(shí)現(xiàn)軟件各層之間的解耦。(2)可以使用容器提供的眾多服務(wù),如:事務(wù)管理服務(wù)、消息服務(wù)、JMS服務(wù)、持久化服務(wù)等等。(3)容器提供單例模式支持,開發(fā)人員不再需要自己編寫實(shí)現(xiàn)代碼。(4)容器提供了AOP技術(shù),利用它很容易實(shí)現(xiàn)如權(quán)限攔截,運(yùn)行期監(jiān)控等

12、功能。(5)容器提供的眾多輔作類,使用這些類能夠加快應(yīng)用的開發(fā),如:JdbcTemplate、HibernateTemplate.(6)對(duì)主流的應(yīng)用框架提供了集成支持。6 Hibernate與Mybatis技術(shù)研究MyBatis是一個(gè)基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)。MyBatis 是支持普通 SQL查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis 使用簡(jiǎn)單的 XML或注解用于配置和原始映射,將接口和 Java 的PO

13、JOs(Plain Old Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫中的記錄。每個(gè)MyBatis應(yīng)用程序主要都是使用SqlSessionFactory實(shí)例的,一個(gè)SqlSessionFactory實(shí)例可以通過SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個(gè)xml配置文件或者一個(gè)預(yù)定義的配置類的實(shí)例獲得。用xml文件構(gòu)建SqlSessionFactory實(shí)例是非常簡(jiǎn)單的事情。推薦在這個(gè)配置中使用類路徑資源(classpath resource),但你可以使用任何Reader實(shí)例,包括用文件路徑或file:/開頭的

14、url創(chuàng)建的實(shí)例。MyBatis有一個(gè)實(shí)用類-Resources,它有很多方法,可以方便地從類路徑及其它位置加載資源。6.1功能架構(gòu)Mybatis的功能架構(gòu)分為三層,如圖5所示:圖4 Mybatis 架構(gòu)(1)API接口層:提供給外部使用的接口API,開發(fā)人員通過這些本地API來操縱數(shù)據(jù)庫。接口層一接收到調(diào)用請(qǐng)求就會(huì)調(diào)用數(shù)據(jù)處理層來完成具體的數(shù)據(jù)處理。(2)數(shù)據(jù)處理層:負(fù)責(zé)具體的SQL查找、SQL解析、SQL執(zhí)行和執(zhí)行結(jié)果映射處理等。它主要的目的是根據(jù)調(diào)用的請(qǐng)求完成一次數(shù)據(jù)庫操作。(3)基礎(chǔ)支撐層:負(fù)責(zé)最基礎(chǔ)的功能支撐,包括連接管理、事務(wù)管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取

15、出來作為最基礎(chǔ)的組件。為上層的數(shù)據(jù)處理層提供最基礎(chǔ)的支撐。6.2工作流程(1)加載配置:配置來源于兩個(gè)地方,一處是配置文件,一處是Java代碼的注解,將SQL的配置信息加載成為一個(gè)個(gè)MappedStatement對(duì)象(包括了傳入?yún)?shù)映射配置、執(zhí)行的SQL語句、結(jié)果映射配置),存儲(chǔ)在內(nèi)存中。(2)SQL解析:當(dāng)API接口層接收到調(diào)用請(qǐng)求時(shí),會(huì)接收到傳入SQL的ID和傳入對(duì)象(可以是Map、JavaBean或者基本數(shù)據(jù)類型),Mybatis會(huì)根據(jù)SQL的ID找到對(duì)應(yīng)的MappedStatement,然后根據(jù)傳入?yún)?shù)對(duì)象對(duì)MappedStatement進(jìn)行解析,解析后可以得到最終要執(zhí)行的SQL語句和

16、參數(shù)。(3)SQL執(zhí)行:將最終得到的SQL和參數(shù)拿到數(shù)據(jù)庫進(jìn)行執(zhí)行,得到操作數(shù)據(jù)庫的結(jié)果。(4)結(jié)果映射:將操作數(shù)據(jù)庫的結(jié)果按照映射的配置進(jìn)行轉(zhuǎn)換,可以轉(zhuǎn)換成HashMap、JavaBean或者基本數(shù)據(jù)類型,并將最終結(jié)果返回。6.3動(dòng)態(tài)SQLMyBatis 最強(qiáng)大的特性之一就是它的動(dòng)態(tài)語句功能。如果您以前有使用JDBC或者類似框架的經(jīng)歷,您就會(huì)明白把SQL語句條件連接在一起是多么的痛苦,要確保不能忘記空格或者不要在columns列后面省略一個(gè)逗號(hào)等。動(dòng)態(tài)語句能夠完全解決掉這些痛苦。盡管與動(dòng)態(tài)SQL一起工作不是在開一個(gè)party,但是MyBatis確實(shí)能通過在任何映射SQL語句中使用強(qiáng)大的動(dòng)態(tài)S

17、QL來改進(jìn)這些狀況。動(dòng)態(tài)SQL元素對(duì)于任何使用過JSTL或者類似于XML之類的文本處理器的人來說,都是非常熟悉的。在上一版本中,需要了解和學(xué)習(xí)非常多的元素,但在MyBatis 3 中有了許多的改進(jìn),現(xiàn)在只剩下差不多二分之一的元素。MyBatis使用了基于強(qiáng)大的OGNL表達(dá)式來消除了大部分元素。MyBatis是一個(gè)可以自定義SQL、存儲(chǔ)過程和高級(jí)映射的持久層框架。只使用簡(jiǎn)單的XML和注解來配置和映射基本數(shù)據(jù)類型、MAP接口和POJO(簡(jiǎn)單的JAVA對(duì)象)到數(shù)據(jù)庫記錄。相比另一流行的持久層框架Hibernate,MyBatis是一種“半自動(dòng)化”的ORM(對(duì)象關(guān)系映射)實(shí)現(xiàn),可以進(jìn)行更為細(xì)致的SQL

18、優(yōu)化減少查詢字段。因?yàn)楸鞠到y(tǒng)主要是對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行處理,而且數(shù)據(jù)量會(huì)比較大,結(jié)構(gòu)比較穩(wěn)定,因此對(duì)SQL語句應(yīng)進(jìn)行更高度的優(yōu)化,所以本系統(tǒng)選擇MyBatis作為數(shù)據(jù)庫持久層框架。相對(duì)Hibernate的全自動(dòng)化,Mybatis是半自動(dòng)化的ORM框架,雖然不如全自動(dòng)化更節(jié)省開發(fā)人員時(shí)間,但是對(duì)于對(duì)性能要求較高的系統(tǒng),Mybatis可以對(duì)SQL語句自由進(jìn)行優(yōu)化,而且現(xiàn)在有MybatisGenerateCode等插件工具可以實(shí)現(xiàn)自動(dòng)生成實(shí)體類和基本的select,insert,delete及update語句。減少了Mybatis與Hibernate在開發(fā)復(fù)雜度上面差距。表1是使用zakisoft工具

19、對(duì)Hibernate和Mybatis的執(zhí)行效率進(jìn)行的測(cè)試數(shù)據(jù),其中執(zhí)行時(shí)間為平均每條數(shù)據(jù)的執(zhí)行時(shí)間,insert測(cè)試數(shù)據(jù)為10000條,select、delete、update每次測(cè)試均為隨機(jī)選擇、刪除、更新一條數(shù)據(jù),執(zhí)行次數(shù)100次。根據(jù)以上調(diào)研及測(cè)試,綜合考慮,本系統(tǒng)采用Mybatis框架。7.管理員及權(quán)限模塊實(shí)現(xiàn)系統(tǒng)建立初期,只有超級(jí)管理員一個(gè)角色和用戶,超級(jí)管理員可以創(chuàng)建其他角色,并為角色分配不同的權(quán)限,例如:web菜單維護(hù)角色、新聞內(nèi)容管理角色、web布局管理角色以及文件管理等角色。然后創(chuàng)建web智能管理系統(tǒng)的后臺(tái)管理員用戶,每個(gè)用戶有其對(duì)應(yīng)的權(quán)限角色。例如擁有菜單維護(hù)的權(quán)限的用戶,

20、可以創(chuàng)建前臺(tái)網(wǎng)站菜單并分配該菜單對(duì)應(yīng)的主頁。不同角色的管理員擁有不同的權(quán)限,在很大程度上保證了前臺(tái)web系統(tǒng)的安全性。7框架組合經(jīng)過對(duì)各個(gè)框架的研究,系統(tǒng)采用SSM框架組合,分別取Spring mvc、spring3.0、Mybatis各框架中優(yōu)秀模塊進(jìn)行組合,實(shí)現(xiàn)MVC架構(gòu)模式。取Spring mvc中的Action層與JSP頁面之間的交互響應(yīng)、攔截器,過濾器等功能作為view層和controller層;Mybatis作為model層,負(fù)責(zé)實(shí)例、JDBC連接以及數(shù)據(jù)持久層的功能;Spring作為一個(gè)輕量級(jí)的框架,采用其核心模塊IOC、AOP、Test,其中,IOC依賴翻轉(zhuǎn)用來連接各個(gè)層之間對(duì)

21、象,簡(jiǎn)化各個(gè)對(duì)象之間調(diào)用;由于基于反射及代理模式的面向切面編程開銷比較大,本系統(tǒng)中只用來進(jìn)行事務(wù)管理,負(fù)責(zé)事務(wù)的回滾機(jī)制,Spring的Test機(jī)制使得測(cè)試變得不再復(fù)雜,可以采用非容器依賴的編程方式進(jìn)行大部分測(cè)試工作,此外Spring還擔(dān)當(dāng)著MVC各個(gè)層之間的無縫連接工作,否則即使各個(gè)框架都很優(yōu)秀也無法發(fā)揮出其最大的作用。在SSM整合框架中,每一個(gè)框架都發(fā)揮著自己最擅長(zhǎng)的方面: Spring mvc注重于降低表現(xiàn)層與邏輯層的耦合度,在視圖層和控制層發(fā)揮作用;Spring作為整個(gè)框架的核心部分,起到了橋梁的作用,對(duì)業(yè)務(wù)層的層次深化,在業(yè)務(wù)層通過其IOC技術(shù)的對(duì)象依賴注入和AOP技術(shù)的事務(wù)分離,更

22、深層次的降低了耦合程度;MyBatis框架主要負(fù)責(zé)Java對(duì)象和關(guān)系數(shù)據(jù)庫之間的映射,在數(shù)據(jù)持久層上提供數(shù)據(jù)的訪問。通過應(yīng)用SSM整合框架,可以將整個(gè)系統(tǒng)開發(fā)的結(jié)構(gòu)大致分為如圖2所示。圖6 SSM框架結(jié)構(gòu)3.1框架組合實(shí)現(xiàn)通過web.xml,Structs.xml,applicationContext.xml,mybatis-config.xml這個(gè)配置文件搭建web系統(tǒng)的整體框架,使之符合MVC架構(gòu)模式。web.xml文件中通過context-param配置了Spring的上下文位置,并通過listener配置,通知容器加載Spring及Struct2的配置文件。Structs.xml主要是

23、對(duì)頁面提交的請(qǐng)求以及Action返回的頁面進(jìn)行對(duì)應(yīng)。applicationContext.xml是Spring的配置文件,其中<context:component-scan base-package=”ject”/>,可以實(shí)現(xiàn)使用annotation自動(dòng)注冊(cè)bean,并檢查Required,Autowired的屬性是否已經(jīng)被注入。使用AOP定義了事務(wù),除了以get,find,select方法名開頭的方法外,其他service層的方法均有回滾機(jī)制,保證了事務(wù)的原子性、一致性、持久性。此外還配置了mybatis文件位置以及數(shù)據(jù)庫的相關(guān)信息,將業(yè)務(wù)層和數(shù)據(jù)層分離并聯(lián)系起來。m

24、ybatis-config.xml文件中配置了MAPPER的加載方式,本系統(tǒng)中采用非懶漢式加載,即在系統(tǒng)初始化時(shí)加載所有的MAPPER文件,防止出現(xiàn)初始化并發(fā)問題。經(jīng)過編寫各配置文件組合3個(gè)框架,完成了系統(tǒng)的整體架構(gòu)的搭建。SSM框架的組合分別是Spring mvc、Spring3.0、MyBatis,三者組合實(shí)現(xiàn)MVC架構(gòu)模式。Spring mvc的主要功能是使用action層與JSP頁面進(jìn)行交互。Mybatis是半自動(dòng)化的ORM框架,負(fù)責(zé)數(shù)據(jù)持久層的功能,可以對(duì)SQL語句進(jìn)行自動(dòng)優(yōu)化,并且可以使用插件實(shí)現(xiàn)自動(dòng)生成實(shí)體類及基本的語句。Spring核心模塊IOC依賴反轉(zhuǎn)各個(gè)層之間的對(duì)象,簡(jiǎn)化對(duì)

25、象的調(diào)用。SSM框架在Web應(yīng)用系統(tǒng)開發(fā)中具有以下優(yōu)勢(shì):(1)系統(tǒng)開發(fā)效率提升??蚣芸梢蕴峁└咝У慕M件和視圖處理,而且以配置文件的方式定義程序邏輯。需求改變僅需修改控制邏輯的配置文件,無需關(guān)心底層框架的實(shí)現(xiàn),從而提高系統(tǒng)開發(fā)效率。(2)模塊間相互獨(dú)立。SSM框架具有“低耦合高內(nèi)聚”的特點(diǎn)。設(shè)計(jì)人員可以按功能將系統(tǒng)劃分為不同的功能模塊,模塊之間相互獨(dú)立,每個(gè)模塊的修改不影響其他模塊。(3)角色分離??蚣転殚_發(fā)者提供不同的接口,前端頁面設(shè)計(jì)人員只需關(guān)注JSP頁面的設(shè)計(jì),后臺(tái)邏輯開發(fā)者對(duì)業(yè)務(wù)邏輯開發(fā)程序。前端和后臺(tái)的人員相互獨(dú)立,互不影響。(4)縮短開發(fā)周期,降低項(xiàng)目開發(fā)成本??蚣芸梢赃m用于各種類型開發(fā)人員協(xié)同工作,降低了對(duì)開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論