SSM框架下各個(gè)層的解釋說(shuō)明_第1頁(yè)
SSM框架下各個(gè)層的解釋說(shuō)明_第2頁(yè)
SSM框架下各個(gè)層的解釋說(shuō)明_第3頁(yè)
SSM框架下各個(gè)層的解釋說(shuō)明_第4頁(yè)
SSM框架下各個(gè)層的解釋說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、持久層:DAOH (mapper)DAO!: DAO!主要是做數(shù)據(jù)持久層的工作,負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行聯(lián)絡(luò) 的一些任務(wù)都封裝在此,?DAO§的設(shè)計(jì)首先是設(shè)計(jì)DAO勺接口,然后在Spring的配置文件中定義此接口的實(shí)現(xiàn)類,然后就可在模塊中調(diào)用此接口來(lái)進(jìn)行數(shù)據(jù)業(yè)務(wù)的處理,而不用關(guān)心此接口的具體實(shí)現(xiàn)類是哪個(gè)類,顯得結(jié)構(gòu)非常清晰,DAO曇的數(shù)據(jù)源配置,以及有關(guān)數(shù)據(jù)庫(kù)連接的參數(shù)都在Spring的配置文件中進(jìn)行配置。業(yè)務(wù)層:Service層Service層:Service層主要負(fù)責(zé)業(yè)務(wù)模塊的邏輯應(yīng)用設(shè)計(jì)。?首先設(shè)計(jì)接口,再設(shè)計(jì)其實(shí)現(xiàn)的類接著再在Spring的配置文件中配置其實(shí)現(xiàn)的關(guān)聯(lián)。這樣我們就可以

2、在應(yīng)用中調(diào)用Service接口來(lái)進(jìn)行業(yè)務(wù)處理。Service層的業(yè)務(wù)實(shí)現(xiàn),具體要調(diào)用到已定義的DAO!的接口,封裝Service層的業(yè)務(wù)邏輯有利于通用的業(yè)務(wù)邏輯的獨(dú)立性和重復(fù) 利用性,程序顯得非常簡(jiǎn)潔。表現(xiàn)層:Controller 層(Handler 層)Controller 層:Controller層負(fù)責(zé)具體的業(yè)務(wù)模塊流程的控制,在此層里面要調(diào)用Service層的接口來(lái)控制業(yè)務(wù)流程,控制的配置也同樣是在 Spring的配置文件里面進(jìn)行,針對(duì)具體的業(yè) 務(wù)流程,會(huì)有不同的控制器,我們具體的設(shè)計(jì)過(guò)程中可以將流程進(jìn)行 抽象歸納,設(shè)計(jì)出可以重復(fù)利用的子單元流程模塊,這樣不僅使程序結(jié)構(gòu)變得清晰,也大大減

3、少了代碼量。View 層View層 此層與控制層結(jié)合比較緊密,需要二者結(jié)合起來(lái)協(xié)同工發(fā)。View層主要負(fù)責(zé)前臺(tái)jsp頁(yè)面的表示.各層聯(lián)系DAO!, Service層這兩個(gè)層次都可以單獨(dú)開(kāi)發(fā),互相的耦合度很低, 完全可以獨(dú)立進(jìn)行,這樣的一種模式在開(kāi)發(fā)大項(xiàng)目的過(guò)程中尤其有優(yōu) 勢(shì)Controller , View層因?yàn)轳詈隙缺容^高,因而要結(jié)合在一起開(kāi)發(fā),但是也可以看作一個(gè)整體獨(dú)立于前兩個(gè)層進(jìn)行開(kāi)發(fā)。這樣,在層與層之前我們只需要知道接口的定義,調(diào)用接口即可完成所需要的邏輯單 元應(yīng)用,一切顯得非常清晰簡(jiǎn)單。Service邏輯層設(shè)計(jì)Service層是建立在DAO層之上的,建立了 DAO層后才可以建立 Se

4、rvice層,而Service層又是在Controller 層之下的,因而Service層應(yīng)該既調(diào)用DAO!的接口,又要提供接口給 Controller層的類來(lái)進(jìn)行調(diào)用,它剛好處于一個(gè)中間層的位置。每個(gè)模型都有一個(gè)Service接口,每個(gè)接口分別封裝各自的業(yè)務(wù)處理方法。SSM匡架整合說(shuō)明整合Dao層MyBatis配置文件?配置別名:用于批量掃描Pojo包不需要配置mappers標(biāo)簽,但一定要保證文件與文件同名。<?xml version="" encoding="UTF-8” ?><!DOCTYPE configuration PUBLIC &q

5、uot;- from itemswhere like '%$%'1234整合service 層目標(biāo): 讓 spring 管理 service 接口。定義service 接口一般在包下定義接口 eg : ItemsServicepublic interfae ItemsServicepublic List<ItemsCustom> findItemsList(ItemsQueryVo it emsQueryVo) throws Exception;123定義ServiceImpl實(shí)現(xiàn)類因?yàn)樵谥幸呀?jīng)使用了 mapper掃描器,這里可以直接通過(guò)注解的方式 將 itemsM

6、apperCustom 自動(dòng)注入。public class ItemsServiceImpl implements ItemsService Autowiredprivate ItemsMapperCustom itemsMapperCustom;Overridepublic List<ItemsCustom> findItemsList(ItemsQueryVo itemsQueryVo) throws Exception return (itemsQueryVo);123456789 10在spring 容器酉已置service在此文件中配置service 。<bean

7、id= "itemsService" class= "" /> 1事物控制(不夠熟悉)在中使用spring聲明式事務(wù)控制方法對(duì)mybatis操作數(shù)據(jù)庫(kù)事物控制,spring使用jdbc的事物控制類是DataSourceTransactionManager因?yàn)椴僮髁藬?shù)據(jù)庫(kù)需要事物控制,所以需要配置數(shù)據(jù)源定義了切面<beans xmlns=""xmlns:xsi ="" xmlns:mvc =""xmlns:context =""xmlns:aop ="&q

8、uot; xmlns:tx =""xsi:schemaLocation =""><!- 事務(wù)管理器對(duì) mybatis 操作數(shù)據(jù)庫(kù)事務(wù)控制,spring 使用 jdbc 的事務(wù)控制類-><bean id ="transactionManager" class ="" ><!- 數(shù)據(jù)源在dataSource 在中已經(jīng)配置-><property name="dataSource" ref ="dataSource" /><

9、/ bean><!-通知-><tx:advice id ="txAdvice" transaction-manager ="transactionM anager" ><tx:attributes ><!- 傳播行為-> <tx:method name="save*" propagation ="REQUIRED/"><tx:method name="delete*" propagation ="REQUIRED/

10、"><tx:method name="insert*" propagation ="REQUIRED/"><tx:method name="update*" propagation ="REQUIRED/"><tx:method name="find*" propagation ="SUPPORTS"rea d-only ="true" /><tx:method name="get*&qu

11、ot; propagation ="SUPPORTS"read-only ="true" /><tx:method name="select*" propagation ="SUPPORTS"r ead-only ="true" /></ tx:attributes > </ tx:advice > <!- aop -><aop:config ><aop:advisor advice-ref ="txAdvice&

12、quot; pointcut ="execution(* " /></ aop:config ></ beans>006寸900oClco寸IO9O Cl232425262728293031323334353637383940整合 springmvc創(chuàng)建文件,配置處理器映射器、適配器、視圖解析器<context:component-scan base-package ="" ></context:componen t-scan ><!-使用mvc:annotation-driven加載注解映射器

13、和注解適配器配置-><mvc:annotation-driven ></ mvc:annotation-driven ><!-視圖解析器 解析jsp解析,默認(rèn)使用jstl標(biāo)簽,classpath下的得有jstl的包-><bean class ="" ><!-配置jsp路徑的前綴-><propertyname="prefix"value ="/WEB-INF/jsp/" /><!-配置jsp路徑的后綴-><propertyname="

14、;suffix"value =".jsp" /></bean>12345678910111213配置前端控制器在中加入如下內(nèi)容contextConfigLocation 配置springmvc力口載的配置文件(配置處理 器映射器、適配器等等)?如果不配置 contextConfigLocation , 默認(rèn)加載的是 /WEB-INF/servlet 名稱() 在 url-pattern 中?填入* action ,表示訪問(wèn)以.action 結(jié)尾 由DispatcherServlet 進(jìn) 行解析填入/,所有訪問(wèn)的地址都由 DispatcherSer

15、vlet進(jìn)行解析,對(duì)于靜態(tài)文件的解析需要配置不讓DispatcherServlet進(jìn)行解析,使用此種方式可以實(shí)現(xiàn)RESTful風(fēng)格的url <!- springmvc前端控制器-><servlet ><servlet-name >springmvc </servlet-name ><servlet-class ><init-param ><param-name>contextConfigLocation</ param-name><param-value >classpath:spring/ </ param-value ></ init-param ></ servlet ><servlet-mapping ><servlet-name >springmvc </ servlet-name ><url-pattern >*action </url-pattern ></ servlet-mapping >123456789101112131415編寫(xiě) Controller (Handler)Congt

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論