程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> java-求對MVC業務層Service的理解分享

java-求對MVC業務層Service的理解分享

編輯:編程解疑
求對MVC業務層Service的理解分享

平時說到Service層,自然就是處理業務的。但最近一直在想一個問題:業務到底是什麼,怎麼定義為“一條業務”?例如“登陸”是否算“一條業務”,即直接在UserService直接提供login(username,password)方法。而不是分兩步:CheckUser,LoginSuccess,並由Controller控制流程。求分享,謝謝!

最佳回答:


我剛剛開始學習也是有疑問,當我出來工作一個月之後 我就明白了,你所說的登錄是否算一條業務,你不能這樣去理解service層,Service層一般用來處理業務邏輯,其實說處理業務邏輯因為在在這一層裡面提對事務進入操作的,你對業務數據進行操作,你要對數據庫進行增刪改查吧?其中增刪改就是對事務進行處理了,當你對數據庫裡面多個表進行操作,多條數進行操作,如果ABCD四條數據 ,如果AB進行插入操作成功 了,如果C插入失敗呢,那麼你是不應該要對事務進行rollback(回滾),如果你在Service層進行處理你不用擔心萬一有一條數據插入失敗其他要進行回退的事情怎麼去處理,Spring的Service層封裝對事務進行處理,保持一致性。通常會在service層加上@Transactional來進行事務控制,你寫代碼的時候就不用擔心要對數據進行rollback操作,spring幫你去處理。查詢的東西你可以在controller層裡面進行操作,看公司的規范吧,但是對事務處理就一定要在service層,要保持數據的一致性,你記住當你對數據進行增刪改都要在service層去進行操作就可以了,是為了保持數據的一致性。希望對你有幫助

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved