posted @ 2009-11-16 19:26 codingliyi 閱讀(546) | 評論 (0) | 編輯 收藏
摘要: Controller實現類
AbstractController:使用Template Method模式,包括了對緩存標頭的處理、檢驗對請求方法(POST、GET)的支持,Session的取得與同步化等。
使用方式:繼承AbstractController類,覆蓋handleRequestInternal()方法。
MultiActionController與ParameterMethodNameResolver
在一個Controller類中定義多個方法,并根據使用者的請求來執行當中的某個方法,相當于Struts的DispatcherAction。
使用MultiActionController需要配個一個MethodNameResolver實例,默認使用ParameterMethodNameResolver,他會根據所給的網址中,最后請求的文件名稱來判斷執行Controller中的哪一個方法。 閱讀全文
AbstractController:使用Template Method模式,包括了對緩存標頭的處理、檢驗對請求方法(POST、GET)的支持,Session的取得與同步化等。
使用方式:繼承AbstractController類,覆蓋handleRequestInternal()方法。
MultiActionController與ParameterMethodNameResolver
在一個Controller類中定義多個方法,并根據使用者的請求來執行當中的某個方法,相當于Struts的DispatcherAction。
使用MultiActionController需要配個一個MethodNameResolver實例,默認使用ParameterMethodNameResolver,他會根據所給的網址中,最后請求的文件名稱來判斷執行Controller中的哪一個方法。 閱讀全文
posted @ 2009-11-16 15:49 codingliyi 閱讀(1087) | 評論 (0) | 編輯 收藏
摘要: 在SpringMVC框架中,擔任前端控制器的org.springframework.web.servlet.DispatcherServlet。Web.xml文件配置代碼如下: 閱讀全文
posted @ 2009-11-15 22:32 codingliyi 閱讀(926) | 評論 (0) | 編輯 收藏
摘要: 五、Spring 持久層
對于不同的數據庫技術,某些步驟是固定的,只有少部分不同。Spring運用Template Method模式,將固定的流程編寫與Temp類(JdbcTemplate、HibernateTemplate)之中,對不同的一些細節步驟,依托特定DAO支持對象來處理。
Spring的DAO框架并不拋出與數據庫技術相關的異常,Spring所有異常都是DataAccessException的子類,一個與數據庫技術無關的通用異常類,該類繼承至RuntimeException。
對于Jdbc存取,Spring將SQLException等轉化為自己的DAO異常對象。
閱讀全文
對于不同的數據庫技術,某些步驟是固定的,只有少部分不同。Spring運用Template Method模式,將固定的流程編寫與Temp類(JdbcTemplate、HibernateTemplate)之中,對不同的一些細節步驟,依托特定DAO支持對象來處理。
Spring的DAO框架并不拋出與數據庫技術相關的異常,Spring所有異常都是DataAccessException的子類,一個與數據庫技術無關的通用異常類,該類繼承至RuntimeException。
對于Jdbc存取,Spring將SQLException等轉化為自己的DAO異常對象。
閱讀全文
posted @ 2009-11-09 20:30 codingliyi 閱讀(337) | 評論 (0) | 編輯 收藏
摘要: 四、SpringAOP
學習AOP必須首先要學習代理模式。詳見我的上一篇筆記:AOP基礎:動態代理
AOP觀念與術語
1.橫切關注點(Cross-cutting concern)
類似于日志記錄、安全檢查、事務等系統層面的服務,在一些應用程序中常被尖刀安插至各個對象的處理流程中,這些動作在AOP術語中被稱為橫切關注點。
2.切面(Aspect)
將散落于各個業務對象中的橫切關注點(如日志記錄)收集起來,設計各個獨立可重用的對象,這些對象被稱為切面。如上篇筆記中的Handler類。在需要該服務時,織入(Weave)應用程序之上。
3.Advice
Aspect的具體實現被稱之為Advice。例如,Advice中會包括日志記錄程序代碼是如何實現的。Advice中包含了橫切關注點的行為或提供的服務。
4.Joinpoint
Aspect在應用程序執行時加入業務流程的點或時機。這個時機可能是某個方法執行之前或之后或兩者都有,或是某個異常發生的時候。
閱讀全文
學習AOP必須首先要學習代理模式。詳見我的上一篇筆記:AOP基礎:動態代理
AOP觀念與術語
1.橫切關注點(Cross-cutting concern)
類似于日志記錄、安全檢查、事務等系統層面的服務,在一些應用程序中常被尖刀安插至各個對象的處理流程中,這些動作在AOP術語中被稱為橫切關注點。
2.切面(Aspect)
將散落于各個業務對象中的橫切關注點(如日志記錄)收集起來,設計各個獨立可重用的對象,這些對象被稱為切面。如上篇筆記中的Handler類。在需要該服務時,織入(Weave)應用程序之上。
3.Advice
Aspect的具體實現被稱之為Advice。例如,Advice中會包括日志記錄程序代碼是如何實現的。Advice中包含了橫切關注點的行為或提供的服務。
4.Joinpoint
Aspect在應用程序執行時加入業務流程的點或時機。這個時機可能是某個方法執行之前或之后或兩者都有,或是某個異常發生的時候。
閱讀全文
posted @ 2009-11-08 20:12 codingliyi 閱讀(601) | 評論 (0) | 編輯 收藏
摘要: 在了解動態代理之前,有必要先知道什么是靜態代理。
1. 靜態代理
在靜態代理的實現中,代理對象與被代理對象都必須實現同一個借口,在代理對象中可以實現日志記錄等相關服務,并在需要的時候在呼叫被代理對象。如此代理對象中就可以僅保留業務相關職責。
閱讀全文
1. 靜態代理
在靜態代理的實現中,代理對象與被代理對象都必須實現同一個借口,在代理對象中可以實現日志記錄等相關服務,并在需要的時候在呼叫被代理對象。如此代理對象中就可以僅保留業務相關職責。
閱讀全文
posted @ 2009-11-07 21:27 codingliyi 閱讀(258) | 評論 (0) | 編輯 收藏
摘要: Spring的核心是個lightweitht 的container,他是實現IOC容器、非侵入性(No Intrusive)的框架,并提供AOP概念的實現方式,提供Persistence、transaction的支持,提供MVC Web框架的實現,并對一些常用的企業服務API提供一致的模型封裝,是一個全方位的Application Framework。
一、Spring部分術語介紹
No Intrusive:應用程序幾乎感覺不到框架的存在,減低應用程序在框架移植時的負擔,進一步增加應用程序組件的Reusability。
控制反轉(IoC):依賴關系的轉移。程序不應依賴實現,而是依賴于接口。
即如果A依賴B,則B擁有控制權。依賴關系的反轉即是控制關系的反轉,將控制權由實現的一方轉移至抽象的一方,藉由讓抽象方擁有控制權,可以獲得組件的殼重用性。
在例子中,整個控制權從實際的FloppyWriter轉移到抽象的IDeviceWriter接口上m而讓Business依賴于ID 閱讀全文
一、Spring部分術語介紹
No Intrusive:應用程序幾乎感覺不到框架的存在,減低應用程序在框架移植時的負擔,進一步增加應用程序組件的Reusability。
控制反轉(IoC):依賴關系的轉移。程序不應依賴實現,而是依賴于接口。
即如果A依賴B,則B擁有控制權。依賴關系的反轉即是控制關系的反轉,將控制權由實現的一方轉移至抽象的一方,藉由讓抽象方擁有控制權,可以獲得組件的殼重用性。
在例子中,整個控制權從實際的FloppyWriter轉移到抽象的IDeviceWriter接口上m而讓Business依賴于ID 閱讀全文
posted @ 2009-11-06 18:43 codingliyi 閱讀(719) | 評論 (0) | 編輯 收藏
posted @ 2008-12-16 18:47 codingliyi 閱讀(1750) | 評論 (29) | 編輯 收藏
posted @ 2008-10-10 20:05 codingliyi 閱讀(516) | 評論 (0) | 編輯 收藏
posted @ 2008-10-10 13:41 codingliyi 閱讀(305) | 評論 (0) | 編輯 收藏