posted @ 2009-11-16 19:26 codingliyi 閱讀(550) | 評(píng)論 (0) | 編輯 收藏
摘要: Controller實(shí)現(xiàn)類
AbstractController:使用Template Method模式,包括了對(duì)緩存標(biāo)頭的處理、檢驗(yàn)對(duì)請(qǐng)求方法(POST、GET)的支持,Session的取得與同步化等。
使用方式:繼承AbstractController類,覆蓋handleRequestInternal()方法。
MultiActionController與ParameterMethodNameResolver
在一個(gè)Controller類中定義多個(gè)方法,并根據(jù)使用者的請(qǐng)求來(lái)執(zhí)行當(dāng)中的某個(gè)方法,相當(dāng)于Struts的DispatcherAction。
使用MultiActionController需要配個(gè)一個(gè)MethodNameResolver實(shí)例,默認(rèn)使用ParameterMethodNameResolver,他會(huì)根據(jù)所給的網(wǎng)址中,最后請(qǐng)求的文件名稱來(lái)判斷執(zhí)行Controller中的哪一個(gè)方法。 閱讀全文
AbstractController:使用Template Method模式,包括了對(duì)緩存標(biāo)頭的處理、檢驗(yàn)對(duì)請(qǐng)求方法(POST、GET)的支持,Session的取得與同步化等。
使用方式:繼承AbstractController類,覆蓋handleRequestInternal()方法。
MultiActionController與ParameterMethodNameResolver
在一個(gè)Controller類中定義多個(gè)方法,并根據(jù)使用者的請(qǐng)求來(lái)執(zhí)行當(dāng)中的某個(gè)方法,相當(dāng)于Struts的DispatcherAction。
使用MultiActionController需要配個(gè)一個(gè)MethodNameResolver實(shí)例,默認(rèn)使用ParameterMethodNameResolver,他會(huì)根據(jù)所給的網(wǎng)址中,最后請(qǐng)求的文件名稱來(lái)判斷執(zhí)行Controller中的哪一個(gè)方法。 閱讀全文
posted @ 2009-11-16 15:49 codingliyi 閱讀(1090) | 評(píng)論 (0) | 編輯 收藏
摘要: 在SpringMVC框架中,擔(dān)任前端控制器的org.springframework.web.servlet.DispatcherServlet。Web.xml文件配置代碼如下: 閱讀全文
posted @ 2009-11-15 22:32 codingliyi 閱讀(929) | 評(píng)論 (0) | 編輯 收藏
摘要: 五、Spring 持久層
對(duì)于不同的數(shù)據(jù)庫(kù)技術(shù),某些步驟是固定的,只有少部分不同。Spring運(yùn)用Template Method模式,將固定的流程編寫與Temp類(JdbcTemplate、HibernateTemplate)之中,對(duì)不同的一些細(xì)節(jié)步驟,依托特定DAO支持對(duì)象來(lái)處理。
Spring的DAO框架并不拋出與數(shù)據(jù)庫(kù)技術(shù)相關(guān)的異常,Spring所有異常都是DataAccessException的子類,一個(gè)與數(shù)據(jù)庫(kù)技術(shù)無(wú)關(guān)的通用異常類,該類繼承至RuntimeException。
對(duì)于Jdbc存取,Spring將SQLException等轉(zhuǎn)化為自己的DAO異常對(duì)象。
閱讀全文
對(duì)于不同的數(shù)據(jù)庫(kù)技術(shù),某些步驟是固定的,只有少部分不同。Spring運(yùn)用Template Method模式,將固定的流程編寫與Temp類(JdbcTemplate、HibernateTemplate)之中,對(duì)不同的一些細(xì)節(jié)步驟,依托特定DAO支持對(duì)象來(lái)處理。
Spring的DAO框架并不拋出與數(shù)據(jù)庫(kù)技術(shù)相關(guān)的異常,Spring所有異常都是DataAccessException的子類,一個(gè)與數(shù)據(jù)庫(kù)技術(shù)無(wú)關(guān)的通用異常類,該類繼承至RuntimeException。
對(duì)于Jdbc存取,Spring將SQLException等轉(zhuǎn)化為自己的DAO異常對(duì)象。
閱讀全文
posted @ 2009-11-09 20:30 codingliyi 閱讀(339) | 評(píng)論 (0) | 編輯 收藏
摘要: 四、SpringAOP
學(xué)習(xí)AOP必須首先要學(xué)習(xí)代理模式。詳見(jiàn)我的上一篇筆記:AOP基礎(chǔ):動(dòng)態(tài)代理
AOP觀念與術(shù)語(yǔ)
1.橫切關(guān)注點(diǎn)(Cross-cutting concern)
類似于日志記錄、安全檢查、事務(wù)等系統(tǒng)層面的服務(wù),在一些應(yīng)用程序中常被尖刀安插至各個(gè)對(duì)象的處理流程中,這些動(dòng)作在AOP術(shù)語(yǔ)中被稱為橫切關(guān)注點(diǎn)。
2.切面(Aspect)
將散落于各個(gè)業(yè)務(wù)對(duì)象中的橫切關(guān)注點(diǎn)(如日志記錄)收集起來(lái),設(shè)計(jì)各個(gè)獨(dú)立可重用的對(duì)象,這些對(duì)象被稱為切面。如上篇筆記中的Handler類。在需要該服務(wù)時(shí),織入(Weave)應(yīng)用程序之上。
3.Advice
Aspect的具體實(shí)現(xiàn)被稱之為Advice。例如,Advice中會(huì)包括日志記錄程序代碼是如何實(shí)現(xiàn)的。Advice中包含了橫切關(guān)注點(diǎn)的行為或提供的服務(wù)。
4.Joinpoint
Aspect在應(yīng)用程序執(zhí)行時(shí)加入業(yè)務(wù)流程的點(diǎn)或時(shí)機(jī)。這個(gè)時(shí)機(jī)可能是某個(gè)方法執(zhí)行之前或之后或兩者都有,或是某個(gè)異常發(fā)生的時(shí)候。
閱讀全文
學(xué)習(xí)AOP必須首先要學(xué)習(xí)代理模式。詳見(jiàn)我的上一篇筆記:AOP基礎(chǔ):動(dòng)態(tài)代理
AOP觀念與術(shù)語(yǔ)
1.橫切關(guān)注點(diǎn)(Cross-cutting concern)
類似于日志記錄、安全檢查、事務(wù)等系統(tǒng)層面的服務(wù),在一些應(yīng)用程序中常被尖刀安插至各個(gè)對(duì)象的處理流程中,這些動(dòng)作在AOP術(shù)語(yǔ)中被稱為橫切關(guān)注點(diǎn)。
2.切面(Aspect)
將散落于各個(gè)業(yè)務(wù)對(duì)象中的橫切關(guān)注點(diǎn)(如日志記錄)收集起來(lái),設(shè)計(jì)各個(gè)獨(dú)立可重用的對(duì)象,這些對(duì)象被稱為切面。如上篇筆記中的Handler類。在需要該服務(wù)時(shí),織入(Weave)應(yīng)用程序之上。
3.Advice
Aspect的具體實(shí)現(xiàn)被稱之為Advice。例如,Advice中會(huì)包括日志記錄程序代碼是如何實(shí)現(xiàn)的。Advice中包含了橫切關(guān)注點(diǎn)的行為或提供的服務(wù)。
4.Joinpoint
Aspect在應(yīng)用程序執(zhí)行時(shí)加入業(yè)務(wù)流程的點(diǎn)或時(shí)機(jī)。這個(gè)時(shí)機(jī)可能是某個(gè)方法執(zhí)行之前或之后或兩者都有,或是某個(gè)異常發(fā)生的時(shí)候。
閱讀全文
posted @ 2009-11-08 20:12 codingliyi 閱讀(605) | 評(píng)論 (0) | 編輯 收藏
摘要: 在了解動(dòng)態(tài)代理之前,有必要先知道什么是靜態(tài)代理。
1. 靜態(tài)代理
在靜態(tài)代理的實(shí)現(xiàn)中,代理對(duì)象與被代理對(duì)象都必須實(shí)現(xiàn)同一個(gè)借口,在代理對(duì)象中可以實(shí)現(xiàn)日志記錄等相關(guān)服務(wù),并在需要的時(shí)候在呼叫被代理對(duì)象。如此代理對(duì)象中就可以僅保留業(yè)務(wù)相關(guān)職責(zé)。
閱讀全文
1. 靜態(tài)代理
在靜態(tài)代理的實(shí)現(xiàn)中,代理對(duì)象與被代理對(duì)象都必須實(shí)現(xiàn)同一個(gè)借口,在代理對(duì)象中可以實(shí)現(xiàn)日志記錄等相關(guān)服務(wù),并在需要的時(shí)候在呼叫被代理對(duì)象。如此代理對(duì)象中就可以僅保留業(yè)務(wù)相關(guān)職責(zé)。
閱讀全文
posted @ 2009-11-07 21:27 codingliyi 閱讀(261) | 評(píng)論 (0) | 編輯 收藏