簡體   English   中英

哪一層最適合處理Spring 3 Mybatis集成應用程序中的事務?

[英]Which layer is most suitable to handle transaction in Spring 3 Mybatis integrated application?

目前,我使用MVC架構開發Spring 3,Mybatis和Struts2集成應用程序。但是在我的應用程序中處理事務時會遇到一些困難。我在服務層中使用Spring Transaction,就像這樣

服務層

         @Service("MyService")
         @Transactional
         public class MyServiceImpl implements IMyService {
              @Transactional(readOnly=false)
              public void myMethod() {

              }
         }

我的問題是“我應該在數據訪問層而不是服務層中使用Spring Transaction嗎?” 喜歡這個

資料存取層

        @Repository("MyDAO")
        public class MyDAO implements IMyDAO {
             @Transactional(readOnly=false)
             public void myMethod() {

             } 
        }

如果您通過服務層調用每個DAO方法,則比使服務層具有事務性。 如果您調用一些獨立於服務層的DAO方法,則DAO方法將需要是事務性的。 您還可以使這兩個事務都成為事務,因為Spring會在這兩個層中傳播事務,這意味着,如果您調用一個事務性的Service方法並調用一個事務性DAO方法,則它們將共享同一事務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM