1.配置事务管理器

<!-- 设定transactionManager事务管理器 -->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 启动spring注解功能,需要cglib-nodep-x.x_x.jar支持 -->
<tx:annotation-driven transaction-manager="txManager" />

2.Service层实现类

@Service("partsMgrService")
@Transactional
public class PartsMgrServiceImpl implements PartsMgrService {
Logger log = Logger.getLogger(PartsMgrServiceImpl.class); @Autowired
PartsTypeDAO partsTypeDao;
@Autowired
PartsBrandDAO partsBrandDao;
//省略代码
@Override
 public boolean addPartsType(PartsTypeDTO dto) throws Exception{
  //赋予值
  Map map = new HashMap();
  map.put("typeName", dto.getTypeName());
  map.put("fParentId", dto.getPid());
  map.put("typeCode", dto.getTypeCode());
  map.put("describe", dto.getDescribe());
  map.put("flag", dto.getFlag());
  map.put("sortNum", dto.getSortNum());
  map.put("typeFlag", dto.getTypeFlag());
  //测试事务
//  Map map2 = new HashMap();
//  map2.put("fPartstypeId", 16);
//  map2.put("brandName", "aaa334");
//  map2.put("brandCode", "bbb234");
//  map2.put("describe", "ccc");
//  map2.put("brandLoge", "ddd");
//  log.info("添加品牌参数: " + map2);
//  
//  partsBrandDao.addPartsBrand(map2);
  
  partsTypeDao.addPartsType(map);
  
  
  return true;
 }
}

@Transactional注解标签~!!

3.Dao层实现类

public interface PartsTypeDAO {
//需要抛出异常DataAccessException
public boolean addPartsType(Map<String, Object> map) throws DataAccessException; }

如果在Dao层实现类中try{}catch(Exception e){}已经处理异常,那么事务是没有效果的~!
事务是在Service业务逻辑层处理的,只针对Dao层,所以Action层不能够直接去调Dao代码的原因呢,这也是代码分层体系编写的原因。

spring中注解事务认识的更多相关文章

  1. Spring中注解事务方面的问题

    我们可以在spring的配置文件beans.xml中对事务进行注解配置,这样在相应的类中就不用对事务进行管事,对于某个类,想单独交给spring来管理,那么就在相应的类上加入@Transactiona ...

  2. spring中注解式事务不生效的问题

    常用的解决方法可以百度,我针对我的问题描述一下 Mysql中InnoDB引擎才支持事务, MyISAM不支持事务. 当你尝试了各种方法解决spring中注解式事务不生效时, 一定要查看一下数据库中表的 ...

  3. Spring,SpringMvc配置常见的坑,注解的使用注意事项,applicationContext.xml和spring.mvc.xml配置注意事项,spring中的事务失效,事务不回滚原因

    1.Spring中的applicationContext.xml配置错误导致的异常 异常信息: org.apache.ibatis.binding.BindingException: Invalid ...

  4. Spring 中的事务操作、注解、以及 XML 配置

    事务 事务全称叫数据库事务,是数据库并发控制时的基本单位,它是一个操作集合,这些操作要么不执行,要么都执行,不可分割.例如我们的转账这个业务,就需要进行数据库事务的处理. 转账中至少会涉及到两条 SQ ...

  5. Spring中的事务管理

    事务简介: 事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性 事务就是一系列的动作,它们被当作一个单独的工作单元.这些动作要么全部完成,要么全部不起作用 事务的四个关键属性( ...

  6. Spring中的事务操作

    事务的特性 原子性:强调事务的不可分割. 一致性:事务的执行的前后数据的完整性保持一致. 隔离性:一个事务执行的过程中,不应该受到其他事务的干扰. 持久性:事务一旦结束,数据就持久化到数据库. 如果不 ...

  7. Spring中@Transactional事务回滚

    转载: Spring中@Transactional事务回滚 一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用.下面举个栗子:比如一个部 ...

  8. SSM-Spring-23:概念《Spring中的事务是什么?》

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客会详细讲述Spring中的事务,会展开来用语言解释,用于了解概念和准备面试 事务的概念: 一个或者一组 ...

  9. Spring中的事务控制

    Spring中事务控制的API介绍 PlatformTransactionManager 此接口是spring的事务管理器,它里面提供了我们常用的操作事务的方法 我们在开发中都是使用它的实现类: 真正 ...

随机推荐

  1. Session id实现通过Cookie来传输方法及代码参考

    1. Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.因此从上述的定义中我们可以看到,Session实际上是一个特定的 ...

  2. Linux命令(7):rm命令

    1.作用: 删除一个目录中的一个或多个文件或目录: 2.格式: rm  [选项] 文件或目录 3.常见参数: 4.使用实例: [root@www hello]# rm –r -i ./why 5.使用 ...

  3. phpmyadmin安装教程及配置设置

    phpmyadmin安装教程及配置设置 | 浏览:20304 | 更新:2013-11-07 09:50 1.一般网上下载到的phpmyadmin是一个压缩包,我们将其释放到htdocs目录中,例如h ...

  4. C# 高精度加法 支持小数(待优化)

    直接上代码 实现思路: 1.首先小数点补 位,9223372036854775808.9+9223372036854775808.9223372036854775808 => 922337203 ...

  5. 安全接口 interface --显示实现接口

    前言:当我们定义接口的成员的时候不需要写访问控制符,因为它是默认public的,也只能是public.当一个类要实现这个接口的时候,自然要公开其成员.一直以来我都这么做. interface Inte ...

  6. CSS 样式二

    CSS文本样式 text-align:设置文本的对齐方式 取值: left 向左对齐 right:向右对齐 center:居中对齐 text-indent:设置文本的首行缩进 例如,字体设为12px, ...

  7. 关于Fragment的使用与Androikd sdk版本之间的东东

    第一个问题如何使用Fragment? 第二个问题哪些场景适合用Fragment? 第三个问题android.app.fragment与android.support.v4.app.Fragment 为 ...

  8. thymeleaf 模板引擎

    1.创建模板解析器 Create Template Resolver  用来加载模板 // create template resolver //创建模板解析器可以用Servlet上下文模板解析器Se ...

  9. ubuntu server版连接vpn服务器

    命令行的方法: 1.要下载pptp的客户端    sudo apt-get install pptp-linux 2.创建连接     sudo pptpsetup –create vpn001 –s ...

  10. .net mvc 防止 xss 与 CSRF

    CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站 ...