java中事物的注解_编程式事务、XML配置事务、注解实现事务

Spring2.0框架的事务处理有两大类:

1 编码式事务 , 这个不说.

2 声明式事务 , 就说这个.

声明式事务又有三种实现方法:

1 (第一种) 最早的方法,用TransactionProxyFactoryBean,他是一个有AOP代理功能的FactoryBean.他返回的对象有事务.

还要在spring的配置文件XML中配置,比较麻烦,不详细说.

pic.dao.transaction_test.TestPOAO

PROPAGATION_REQUIRED

2 (第二种) 使用来实现声明式事务 ,也要在spring的配置文件XML中配置,比较麻烦,不详细说.

.....

.....

3 (第三种) 这个方法方便,使用注解来实现声明式事务, 下面详细说说这个方法:

第一步:引入命名空间 ,在spring的配置文件中修改, beans根元素里多了三行,如下

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

第二步:在spring的配置文件中修改,将所有具有@Transactional 注解的bean自动配置为声明式事务支持

第三步: 在接口或类的声明处 ,写一个@Transactional. 要是只的接口上写, 接口的实现类就会继承下来.

接口的实现类的具体方法,还可以覆盖类声明处的设置.

@Transactional

public class TestPOAOImpl extends POAOBase implements TestPOAO

{

@Transactional(isolation = Isolation.READ_COMMITTED)

public void test1()

{

String sql = "INSERT INTO sy_test (NAME,AGE) VALUES('注解赵云',30)";

execute(sql);

sql = "INSERT INTO sy_test (NAME,AGE) VALUES('注解张飞',26)";

execute(sql);

int a = 9 / 0; //异常

sql = "INSERT INTO sy_test (NAME,AGE) VALUES('注解关羽',33)";

execute(sql);

System.out.println("走完了");

}

//execute() 方法略...

}

注意的几点:

1  @Transactional 只能被应用到public方法上, 对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能.

2 默认情况下,一个有事务方法, 遇到RuntiomeException 时会回滚 .  遇到 受检查的异常 是不会回滚 的. 要想所有异常都回滚,要加上 @Transactional( rollbackFor={Exception.class,其它异常}) .

@Transactional  的所有可选属性如下:

属性

类型

默认值

说明

propagation

Propagation枚举

REQUIRED

事务传播属性 (下有说明)

isolation

isolation枚举

DEFAULT

事务隔离级别 (另有说明)

readOnly

boolean

false

是否只读

timeout

int

-1

超时(秒)

rollbackFor

Class[]

{}

需要回滚的异常类

rollbackForClassName

String[]

{}

需要回滚的异常类名

noRollbackFor

Class[]

{}

不需要回滚的异常类

noRollbackForClassName

String[]

{}

不需要回滚的异常类名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux命令整理

1. mkdir ##创建目录 命令 【参数】 路径文件 参数: mkdir -p ##递归创建 mkdir -v ##显示创建目录的过程 示例: [rootXM ~]# mkdir /data [rootXM ~]# mkdir -pv test/{1..3}/{4..6} ##同时创建多个目录及子目录 mkdir: created di…

eclipse搭建SSH框架详解

2019独角兽企业重金招聘Python工程师标准>>> SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。下面我介绍一下SSH框架搭建的全过程。 第一步:准备工作。 下载好eclipse,Struts2,Spring,Hibernate。…

龙芯派启用串口3-5

硬件平台:龙芯派二代 内核版本:linux-3.10 这几天在龙芯派上加了一个无线串口,决定采用串口3来连接串口,在龙芯派上执行 #ls /dev/ttyS* 发现只有ttyS0,查看设备树后发现其他串口的设备树节点都是有的&#xff0c…

智能家居 (7) ——网络服务器线程控制

目录网络线程控制代码inputCommand.hmainPro.csocketControl.c代码测试往期文章网络线程控制代码 inputCommand.h #include <stdio.h> #include <stdlib.h> #include <string.h> #include <wiringPi.h> #include <wiringSerial.h> #include &l…

vue插槽面试题_关于前端Vue框架的面试题,面试官可能会问到哪些。?

这年头&#xff0c;程序员面试都讲究坐姿&#xff0c;姿势不对&#xff0c;努力白费。参照下图&#xff0c;请同学们对号入座。回想一下&#xff0c;自己平时面试的坐姿&#xff0c;你在面试官眼里&#xff0c;大概是什么形象&#xff0c;可能是工程师&#xff0c;也可能是键盘…

测绘软件使用心得

作为测绘工程专业来说&#xff0c;学习使用测绘软件是每一个学生的必修课。在学校我们主要学习autoCAD和南方CASS。 对于CAD是目前使用最广泛的设计软件&#xff0c;广泛应用于建筑&#xff0c;机械&#xff0c;测绘设计等工作。我们主要学习了如何使用CAD来绘制基本图形。在画…

shell 脚本编程之for语句、if语句(2 )

一、bash条件测试&#xff1a;整数测试 [ expression ]字符测试 expression 条件测试 test expression test 根据表达式求值的结果返回 0&#xff08;真&#xff09;或 1&#xff08;假&#xff09;1、整数测试&#xff1a;数值比较-gt 大于-ge 大于或等于-eq…

龙芯3A4000 VNC配置

安装 yum install tigervnc-server -y 拷贝配置文件 cp /lib/systemd/system/vncserver\.service /lib/systemd/system/vncserver:1.service修改配置文件 vim /lib/systemd/system/vncserver:1.service替换< USER>为用户名 配置、启动vnc systemctl enable vncs…

智能家居 (6) ——语音识别线程控制

目录语音识别线程控制代码inputCommand.hmainPro.cvoiceControl.c代码测试往期文章语音识别线程控制代码 inputCommand.h #include <stdio.h> #include <stdlib.h> #include <string.h> #include <wiringPi.h> #include <wiringSerial.h>struc…

java程序设计精编教程第3版电子版课后答案_[java电子书] Java程序设计教程(第3版) PDF 电子书 百度云 网盘下载...

java自学网(www.javazx.com)-java论坛&#xff0c;java电子书推荐&#xff1a;《 Java程序设计教程(第3版)》- d5 C7 V4 o/ e/ Hjava电子书推荐理由&#xff1a;《Java程序设计教程(第3版普通高等教育十二五*规划教材)》讲解Java程序设计知识及其编程方法&#xff0c;包括Java语…

MIPS结构体传参

本文讲解了C语言运行在MIPS体系中结构体传参的情况 硬件平台&#xff1a;Loongson 3A3000 系统&#xff1a;uos 在《see MIPS run》中11.2.5中描述到&#xff0c;会将结构体成员压缩到各个arg寄存器中进行传递 “we have to pack the register with data to mimic the arran…

智能家居 (8) ——智能家居项目整合(网络控制线程、语音控制线程,火灾报警线程)

目录mainPro.c&#xff08;主函数&#xff09;指令工厂inputCommand.hvoiceControl.c&#xff08;语音控制&#xff09;socketControl.c&#xff08;网络线程&#xff09;控制工厂contrlEquipments.hbathroomLight.c&#xff08;浴室灯&#xff09;secondfloorLight.c&#xff…

mpu 配置内存空间_ARM存储器之:存储保护单元MPU

本文引用地址&#xff1a;http://www.eepw.com.cn/article/257010.htm15.4.2内存访问顺序当ARM处理器产生一个内存访问信号时&#xff0c;内存保护单位MPU将负责检查要访问的地址是否在被定义的域中。①如果地址不在任何域中&#xff0c;存储器产生异常。如果内核预取指令则MPU…

对象创建过程之二(类加载器)

2019独角兽企业重金招聘Python工程师标准>>> JAVA为我们提供了两种动态加载机制。 第一种是隐式机制。其实new一个对象和调用类的静态方法时&#xff0c;就是隐式机制在工作。 第二种是显示机制。显示的机制又有两种策略 第一种是用public static Class<?> …

Python_堆栈和队列

堆栈和队列 (1)堆栈&#xff0c;新放进去的先取出 #encodingutf-8 >>> stack [3, 4, 5] >>> stack.append(6) >>> stack.append(7) >>> print (stack) [3, 4, 5, 6, 7] >>> print (stack.pop()) 7 >>> print (stack) […

智能家居 (10) ——人脸识别祥云平台编程使用(编译libcurl库支持SSL,安装SSL依赖库libssl、libcrypto)

目录说明人工智能OCR识别平台介绍人脸识别接口购买编程打通OCR后台实现人脸识别&#xff08;ubuntu上实现&#xff09;问题发现编译libcurl库支持SSL安装SSL依赖库openSSL(使用工具wget)curl库重新配置&#xff0c;编译&#xff0c;安装开启SSL后重新编译人脸识别.C文件传入图片…

解决Centos 7 VNC黑屏

在配置Centos 7下VNC时发现root用户可以正常登陆VNC桌面&#xff0c;而普通用户VNC桌面黑屏&#xff0c;分析~/.vnc/xstarup 后发现是普通用户没有执行/etc/X11/xinit/xinitrc的权限 #!/bin/shunset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS /etc/X11/xinit/xinitrc #…

MFC控件(7):Split Button

VS2008中可以看到MFC有一个叫Split Button的控件,要想看它的效果,瞧下QQ那聊天窗口的"发送", "消息记录"这两个按钮就知道了.实际上就是还有点像Combo Box了.不过它的实现应该是button加menu.所以它的消息处理可以分开成button的处理和menu的处理 往dialog…

srs 服务关闭命令_【经验总结】如何做到网络版工作站与服务器时间同步?

随着行业发展&#xff0c;越来越多的实验室色谱数据工作站由原来的单机版&#xff0c;升级为网络版。升级后带来的益不必多说&#xff0c;那么升级带来的困难你遇到过吗&#xff1f;快来跟小析姐一起看看牛人是如何解决问题的吧。最近公司将色谱工作站进行了升级&#xff0c;采…

oss图片尺寸调用方式_是时候来一场轰轰烈烈的OSS升级了

【摘要】伴随5G和云网部署的持续推进&#xff0c;运营商OSS升级建设都已经在不断加速。| 科 | 技 | 杂 | 谈 |中国通信行业第一自媒体【1】运营商的IT支撑系统&#xff0c;正迫切需要新一轮的调整转型。今天&#xff0c;中国移动在2020全球合作伙伴大会上宣布&#xff0c;全球最…