1. 程式人生 > >spring事務到底用於service層還是dao層

spring事務到底用於service層還是dao層

Spring事務為業務邏輯進行事務管理,保證業務邏輯上資料的原子性。

事務得根據專案性質來細分:事務可以設定到三個層面(dao層、service層和web層)。 

第一:web層事務,這一般是針對那些安全性要求較高的系統來說的。例如電子商務網站。粒度小,一般系統用不著這麼細。 

第二:service層事務,這是一常見的事務劃分, 將事務設定在業務邏輯上,只要業務邏輯出錯或異常就事務回滾。粒度較小,一般推薦這種方式。

第三:資料持久層資料務,也就是常說的資料庫事務。這種事務在安全性方面要求低。就是給一個簡單的增刪改之類的操作增加事務操作。粒度大

給Service層配置事務,因為一個Service層方法操作可以關聯到多個DAO的操作。在Service層執行這些Dao操作,多DAO操作有失敗全部回滾,成功則全部提交。

事務分為業務事務和系統事務,業務事務也就是業務邏輯上操作的一致性,系統事務自然就是指真正的資料庫事務,

Spring配置事務的是為了什麼進行管理,當然是為業務邏輯進行事務管理,保證業務邏輯上資料的原子性;

Dao層是什麼,資料訪問層,是不應該包含業務邏輯的,這就是和Service層的不同;

Service層就是業務邏輯層,事務的管理就是為Service層上的保證

轉自:http://www.cnblogs.com/hutton/p/5493095.html

相關推薦

spring事務到底用於service還是dao

Spring事務為業務邏輯進行事務管理,保證業務邏輯上資料的原子性。 事務得根據專案性質來細分:事務可以設定到三個層面(dao層、service層和web層)。  第一:web層事務,這一般是針對那些安全性要求較高的系統來說的。例如電子商務網站。粒度小,一般系統用不著這麼細。  第二:service

spring的一個事務管理,在controllerdao都可以用

import org.springframework.transaction.support.DefaultTransactionDefinition; public PlatformTransactionManager getTransactionManager() { re

系統管理模塊_部門管理_改進_抽取添加與修改JSP頁面中的公共代碼_在顯示抽取BaseAction_合並ServiceDao

commons drive edt exc 第一個 接口實現類 style ear http 系統管理模塊_部門管理_改進1:抽取添加與修改JSP頁面中的公共代碼 commons.jspf <%@ page language="java" import="java.

java中ActionServiceDao的功能區分

封裝 滿足 ont 事務管理 簡單 聲明式 所在 框架搭建 調用接口 Action/Service/DAO簡介:Action是管理業務(Service)調度和管理跳轉的。Service是管理具體的功能的。Action只負責管理,而Service負責實施。DAO只完成增刪改查

Spring 通過定時器 通過反射 Resource Dao為空

技術分享 方法 img global getbean code oba 技術 需要 通過定時器,調用方法,方法中需要用到Dao層實體,Resource時為空 跟換Dao的註入方式: 從 Resource 改為 GlobalFunction.getBeanByName()即可

ActionServiceDao的功能區分

Action/Service/DAO簡介: Action是管理業務(Service)排程和管理跳轉的。 Service是管理具體的功能的。 Action只負責管理,而Service負責實施。 DAO只完成增刪改查,雖然可以1-n,n-n,1-1關聯,模糊、動態、子查詢都可以。但是無論多麼複雜的查詢,dao只是

自建工具類引用servicedao介面報空指標異常解決辦法之一

問題描述:想要建一個工具類進行資料同步,其中要用到service層或dao層的資料查詢介面,正常構建工具類,用@Autowired註解匯入service層。在專案測試時報空指標異常,發現是service層介面注入失敗。 解決方法:將你的工具類變成spring容器:1.將

JAVA中Action, Service ,modleDao的功能區分

首先這是現在最基本的分層方式,結合了SSH架構。modle層就是對應的資料庫表的實體類。Dao層是使用了hibernate連線資料庫、操作資料庫(增刪改查)。Service層:引用對應的Dao資料庫操作,在這裡可以編寫自己需要的程式碼(比如簡單的判斷)。Action層:引用

框架學習(1)——servicedaoservice實現類進行資料庫操作

最近也是比較忙,也只能忙裡偷閒地抓緊時間接著學習一下技術,自從上次學習了maven之後,越來越對框架產生了興趣,下了好多的spring視屏,聽著老師的建議,最近也萌生了看別人的程式碼進行學習的想法,然後就上了知乎搜了搜優秀的java框架,發現了一個比較感興趣的,

Action, ServiceDao的功能區分

1.Action/Service/DAO簡介:     Action是管理業務(Service)排程和管理跳轉的。      Service是管理具體的功能的。     Action只負責管理,而Service負責實施。     DAO只完成增刪改查,雖然可以1-

Java分層思想:Action, Service ,modleDao的功能區分

Dao主要做資料庫的互動工作:DAO層中封裝了資料庫的增刪查改方法 一般分DAO介面(定義資料增刪查改操作)和DAOImpl實現類(具體實現增刪查改方法) Model 是模型 存放你的實

Synchronized鎖在Spring事務管理下,為啥線程不安全?

money string 包括 nag 兩個 static fff throw 開啟事務 大年初二,朋友問了我一個技術的問題(朋友實在是好學,佩服!) 開啟10000個線程,每個線程給員工表的money字段【初始值是0】加1,沒有使用悲觀鎖和樂觀鎖,但是在業務層方法上加了

Mybatis自定義註解實現DAO--實現DAO介面

  Java新增自定義註解:https://www.cnblogs.com/0xcafedaddy/p/6095187.html 1、自定義一個註解@MybatisRepository用作dao掃描 /** * @author cao * @description 前沿my

mybatis自動生成entitydao中Mapper介面中的各個方法的意義及example實體類的用法

package cn.lichenyang.emall.dao; import cn.lichenyang.emall.entity.TbContent; import cn.lichenyang.emall.entity.TbContentExample; import

一個專案中說系統分為表現、控制、邏輯DAO和最終資料庫五架構

PO(persistant object) 持久物件  在o/r對映的時候出現的概念,如果沒有o/r對映,沒有這個概念存在了。通常對應資料模型(資料庫),本身還有部分業務邏輯的處理。可以看成是與資料庫中的表相對映的java物件。最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中

基於Spring4+Hibernate4的通用資料訪問Dao)設計與實現!

基於泛型的依賴注入。當我們的專案中有很多的Model時,相應的Dao(DaoImpl),Service(ServiceImpl)也會增多。而我們對這些Model的操作很多都是類似的,下面是我舉出的一些(見名知意,其它自行腦補): 1.save 2.saveAll 3.fin

前臺頁面查詢引數多的話,建議將其封裝成querybean傳到DAO,在DAO構建SQL語句:例子

  public List<UserFormBean> getAllUserInfo(UserFormBean userFormBean)  {   StringBuffer sql = new StringBuffer("select USERID,USERN

java mysql多次事務 模擬依據匯率轉賬,並存儲轉賬信息 分層完成 dao service client 連接池使用C3p0 寫入庫使用DBUtils

dao AI state rom thread dbutils nbsp jar包 fig Jar包使用,及層的劃分 c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-conf

SSM框架下,springservicedao的關係

【部分轉載】 1、java web 中dao 層和service層都使用介面,是否是為使用介面而使用介面? 一個dao或者一個service都是一個介面,然後再一個類去實現,為什麼不直接使用一個類呢?在入門級(單表)的SSM+maven程式碼裡面,我們甚至可以看到dao和service的介面

事務為什麼加在service而不加在dao

事務註解 @Transactional一般的話都加在service層,問了一些剛入行的朋友為什麼,他們給的答案很模糊,所以自己去搜了下,下面是我的理解。 什麼是事務? 在資料庫中,所謂事務是指一組邏輯操作單元即一組sql語句。當這個單元中的一部分操作