對OpenSessionInViewFilter展開: OpenSessionInViewFilter中做了什么事情呢?這里只說結論,具體需要參考Spring源碼 。第一件事情,把Hibernate的Session放入整個web的request周期內,即,web的request結束,session才關閉。第二件事情,獲取到session后,把它的flush mode 設為FlushMode.NEVER,關閉session時,與trasaction中配置做對比,如果transaction不是readonly,就 會把FlushMode.NEVER轉成FlushMode.AUTO,即有了寫權限。否則,就沒有寫權限。參考《使用OpenSessionInView模式時的一個異常問題解決方法》和《Spring+Hibernate中OpenSessionInView模式運用》。Part 2.數據訪問的Spring配置,3個Bean:
上面代碼讀過配置文件,配置部分代碼如下:
關于sessionFactory的配置,如果不用Annotation的話,配置代碼如下:
Part 3. 事務管理的配置:
上面采用了aspectJ的配置方式,如果用舊的Spring1.2的配置,相關代碼配置如下:
同樣,下面列出具體Bean的兩種配置,首先支持AspectJ的配置
下面是Spring1.2的配置
Part3 Struts的配置,struts.xml內容
注意:struts.objectFactory采用了Spring的Bean方式創建Action.
下面列出Spring方式配置的Action的配置文件的樣子:
事實上Struts的配置文件有很多種,可以參考官方文檔。
posted on 2007-05-08 17:17 MingIsMe 閱讀(1087) 評論(0) 編輯 收藏 所屬分類: 06 J2EE