關於SPRING的事務管理_求助

edison87915發表於2011-10-08
小弟最近搭一個小系統,想使用SPRING的DAO封裝-JDBCTemplate,並且想用上宣告式事務管理。
因為之前沒有實際運用,只是閱讀了SPRING的文件,感覺還是有很多疑問,請問一下,大師們有沒有用SPRING的事務管理用的比較熟的,有沒有什麼心得。
在下有幾點疑問:
1.現在有業務邏輯層(SERVICE層)和資料訪問層(DAO層),SERVICE是主要業務邏輯,其中運算元據庫的部分呼叫DAO來實現,這樣的話我的事務管理應該應用在DAO的方法中還是SERVICE的方法中,DAO中的方法感覺是一些元操作,而SERVICE中一個邏輯功能中除了一些演算法邏輯,還會呼叫到DAO的多個方法來運算元據庫,我的理解是事務控制應該加在SERVICE的方法上,這樣一個邏輯功能要麼成功呼叫,要麼失敗。
2.關於事務管理的事務傳播,在SPRING的文件和網上的一些文章中到處都是,看了不少,但還是感覺很模糊,我的感覺是事務傳播可能涉及到多個方法在相互呼叫時可能都需要事務控制,這樣就存在事務傳播的問題,感覺如果是簡單的系統的話,按照預設的事務傳播模式就可以,但是什麼時候需要用到其他的事務傳播模式呢?我感覺這個問題透了,可能有助於理解第1個問題
3.關於宣告式的事務管理,根據事務管理的配置,我想理解什麼時候算是一個事務開始了,什麼時候算是事務結束了。
是不是根據所配置的資訊,只要執行的某個方法符合SPRING配置中expression的execution所配置的方法,那麼SPRING就會開啟事務,其中可能會有事務傳播可能沒有,方法執行完,事務就結束了是嗎?
4.因為HIBERNATE用的不熟,再加上系統比較簡單,想起O/R對映來就頭大,所以想暫時簡單的實現,但是還是想物件導向的去程式設計,不想和資料庫的資料直接打交道,因為之前用過SPRING的JDBCTemplate,覺得還挺方便,而且最近認真學習了一下,發現SPRING也提供了一些介面來實現資料和物件的轉換,覺得也挺方便,當然SQL還是自己寫。這樣是否可行?
5.因為公司剛開始搞軟體,連搞需求的人也沒有,我想研究一下設計方面的東西,大家能不能提供點學習建議,JAVA設計模式看了一半,對基本的設計模式還懂一些,以後肯定還要學習+實踐,暫時想先系統效率的學習一下UML,學習一下設計,而且類圖、用例圖什麼的可能對學習設計模式也有幫助。大師們能不能給點建議,或者是有比較經典的書籍有沒有推薦一下的。比如JAVA深度歷險這種通俗易懂的經典。嘿嘿
謝謝了

相關文章