-
javaspring培訓教程PPT課件
- PPT預覽
-
PPT內容
這是javaspring培訓教程PPT課件,主要介紹了表現層集成;與Struts集成;典型的兩種做法;與DWR整合,歡迎點擊下載。
第2頁
回顧
Spring是如何集成業務邏輯層的?通過接口——實現類的方式解耦業務層與其它層,主要是用到了控制反轉(依賴注入)的辦法通過AOP的方法,分離事務、日志等切面操作,讓業務邏輯更為清晰Spring是如何集成持久層的?通過模板技術,讓具體的持久層實現無須考慮如何獲得連接,關閉連接(或指session)等繁瑣操作,使程序員專心處理數據CURD操作如果使用了hibernate等持久層框架,DAO就不重要了
2
第4頁
與Struts集成
Spring與Struts集成有兩種方式:使用Struts調用Spring。優點是直接了當,容易理解,缺點是無法使用Spring的依賴注入使用Spring來管理Struts中的Action。優點是可以為Action注入業務邏輯實現
4
第5頁
與Struts集成
方法A.使用Struts調用Spring步驟:添加Spring提供的ContextLoaderListener和contextConfigLocation屬性以指明Spring配置文件的位置,其原理是使用了ListenerServlet在Web工程加載的時候載入了ApplicationContext,并將其放入ServletContext中使用Spring提供的WebApplicationContextUtils從ServletContext中獲取ApplicationContext利用ApplicationContext獲取業務邏輯Bean使用業務邏輯Bean
5
第6頁
與Struts集成
如果認為以上步驟3中的方式不夠簡便,可以選擇將你的Action繼承自Spring提供的XXXActionSupport基類
6
第7頁
與Struts集成
方法B.使用Spring來管理Struts中的Action步驟:添加Spring提供的ContextLoaderListener和contextConfigLocation屬性為所有Action添加類型為業務邏輯接口的屬性和相應的Set方法,為注入做準備
7
第8頁
與Struts集成
為struts-config.xml添加一個插件
管理StrutsActions的配置文件
管理原有Beans的配置文件
8
第9頁
與Struts集成
配置針對strutsaction的配置文件,默認路徑放在WEB-INF下,默認名稱為action-servlet.xml
bean需要配置name屬性,值為Action的路徑
和以前一樣的方式注入業務邏輯bean
9
第10頁
與Struts集成
為struts-config.xml配置,注意也可以選擇第六步的方式
10
第11頁
與Struts集成
將struts-config.xml中所有action的定義進行修改,注意也可以選擇第五步的方式
替換
11
第12頁
與Struts集成
最終簡化辦法,在方法B.的第2步后,在struts-config.xml中添加:
使用spring2.0中的新特性,自動“織入”Action所需的業務邏輯Bean默認方式是根據業務邏輯Bean的類型織入的
12
第13頁
小結
Spring和Struts的集成方式就是這些了,沒有想象中的復雜,嚴格按照步驟做一定不會錯但話說回來,集成web應用程序中的難點不在于此,而是在于事務及Session的管理
13
第14頁
SSH中結合難點
事務何時開始,何時結束Session何時打開,何時關閉
14
第15頁
典型的兩種做法
一個request對應多個事務,每個事務用到一個session,也就是我們現在的做法一個request對應多個事務,但只用到一個session,這種做法在以前的課程里也講過,叫做sessionperrequest模式,也可以稱之為OpenSessionInView
15
第16頁
A.做法的流程分析
客戶端發送請求,經過Action來調用業務邏輯方法A與業務邏輯方法B方法A開啟Session_A,開始事務A,執行之(中間若有攔截器、Advice等,則根據事務屬性可能開啟新的事務和連接,下同)方法A執行成功,事務A提交,Session_A關閉方法B開啟Session_B,開始事務B,執行之方法B執行成功,事務B提交,Session_B關閉最后返回響應
16
第17頁
B.做法的流程分析
客戶端發送請求,經過Action來調用業務邏輯方法A與業務邏輯方法B開啟Session_A,方法A開始事務A,執行之(中間若有攔截器、Advice等,則根據事務屬性可能開啟新的事務或加入當前事務,下同)方法A執行成功,事務A提交方法B開始事務B,執行之方法B執行成功,事務B提交返回響應最后Session_A關閉
17
第18頁
B.做法的優勢
B.做法的優勢在于有效地利用了Hibernate的一級緩存(因為沒有重復打開關閉Session)但B.的做法僅能在持久層使用Hibernate或JPA(另外一種幾乎和Hibernate完全一樣的持久層技術)的情況下使用
18
第19頁
Spring如何實現做法B.
一種做法是使用Spring提供的filter,其原理是使用過濾器Servlet在請求來時打開Session,在響應后關閉Session
OpenSessionInViewFilter org.springframework.orm.hibernate3. support.OpenSessionInViewFilter OpenSessionInViewFilter *.do 19
第20頁
與DWR整合
相當簡單,整合僅僅涉及到遠程Bean的生成方式,原來是每次new一個,現在是使用Spring的Bean工廠產生
注意它的去向
20
相關PPT
快速培訓教程幻燈片PPT課件:這是快速培訓教程幻燈片PPT課件,主要介紹了軟件綜述;AutoCAD優化處理;FastCAM繪圖功能,歡迎點擊下載。 快速培訓教程PPT課件:這是快速培訓教程PPT課件,主要介紹了軟件綜述;AutoCAD優化處理;FastCAM繪圖功能,歡迎點擊下載。 FastCAM專家版培訓教程PPT課件:這是FastCAM專家版培訓教程PPT課件,主要介紹了CAD優化處理;軟件綜述;AutoCAD優化處理;數控編程;自動套料;高效切割功能;應用切割示例,歡迎點擊下載。 《javaspring培訓教程PPT課件》是由用戶huangyixuan于2022-12-31 16:33:33上傳,屬于培訓教程PPT。標簽:
-
相關PPT
-
縮略圖
-