package com.tgb.service;
import javax.annotation.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Service(value="sService")
public class StudentService {
@Resource
private TeacherService tService;
@Resource
private JdbcTemplate jdbcTemplate;
@Transactional(propagation = Propagation.REQUIRED)
public void addStudent(){
String sql = "insert into student(name) values('st0')";
jdbcTemplate.execute(sql);
// try{
// int a = Integer.parseInt("s");
// }catch(Exception e){
// throw new RuntimeException();
// }
// tService.addTeacher();
// tService.addTeacher6();
// tService.addTeacher1();
tService.addTeacher3();
// tService.addTeacher4();
// tService.addTeacher5();
// throw new RuntimeException();
}
@Transactional(propagation = Propagation.MANDATORY)
public void addStudent1(){
String sql = "insert into student(name) values('st1')";
jdbcTemplate.execute(sql);
}
@Transactional(propagation = Propagation.NESTED)
public void addStudent2(){
String sql = "insert into student(name) values('st2')";
jdbcTemplate.execute(sql);
tService.addTeacher2();
// throw new RuntimeException();
}
@Transactional(propagation = Propagation.NEVER)
public void addStudent3(){
String sql = "insert into student(name) values('st3')";
jdbcTemplate.execute(sql);
tService.addTeacher6();
throw new RuntimeException();
}
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public void addStudent4(){
String sql = "insert into student(name) values('st4')";
jdbcTemplate.execute(sql);
tService.addTeacher4();
throw new RuntimeException();
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void addStudent5(){
String sql = "insert into student(name) values('st5')";
jdbcTemplate.execute(sql);
tService.addTeacher5();
throw new RuntimeException();
}
@Transactional(propagation = Propagation.SUPPORTS)
public void addStudent6(){
String sql = "insert into student(name) values('st6')";
jdbcTemplate.execute(sql);
tService.addTeacher6();
throw new RuntimeException();
}
public TeacherService gettService() {
return tService;
}
public void settService(TeacherService tService) {
this.tService = tService;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Spring事务传播特性解析
共41个文件
jar:30个
class:3个
java:3个
5星 · 超过95%的资源 需积分: 48 241 下载量 41 浏览量
2013-11-05
01:00:43
上传
评论 2
收藏 8.2MB RAR 举报
温馨提示
通过代码解析spring传播特性,包括 1、Propagation.REQUIRED 方法被调用时自动开启事务,在事务范围内使用则使用同一个事务,否则开启新事务。 2、Propagation.REQUIRES_NEW 无论何时自身都会开启事务 3、Propagation.SUPPORTS 自身不会开启事务,在事务范围内则使用相同事务,否则不使用事务 4、Propagation.NOT_SUPPORTED 自身不会开启事务,在事务范围内使用挂起事务,运行完毕恢复事务 5、Propagation.MANDATORY 自身不开启事务,必须在事务环境使用否则报错 6、Propagation.NEVER 自身不会开启事务,在事务范围使用抛出异常 7、Propagation.NESTED 如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务, 则按TransactionDefinition.PROPAGATION_REQUIRED 属性执行。需要JDBC3.0以上支持。
资源推荐
资源详情
资源评论
收起资源包目录
SpringTransaction.rar (41个子文件)
SpringTransaction
bin
com
tgb
test
MainTest.class 2KB
service
TeacherService.class 2KB
StudentService.class 3KB
resources
applicationContext.xml 2KB
.settings
org.eclipse.jdt.core.prefs 598B
src
com
tgb
test
MainTest.java 2KB
service
TeacherService.java 2KB
StudentService.java 2KB
resources
applicationContext.xml 2KB
.project 393B
.classpath 2KB
lib
mybatis-3.1.1-SNAPSHOT.jar 635KB
spring-webmvc-3.2.1.RELEASE.jar 625KB
asm-3.3.1.jar 43KB
standard-1.1.2.jar 384KB
spring-instrument-tomcat-3.2.1.RELEASE.jar 10KB
spring-web-3.2.1.RELEASE.jar 610KB
aopalliance-1.0.jar 4KB
spring-aop-3.2.1.RELEASE.jar 327KB
mysql-connector-java-5.1.26-bin.jar 836KB
spring-webmvc-portlet-3.2.1.RELEASE.jar 184KB
spring-instrument-3.2.1.RELEASE.jar 7KB
spring-orm-3.2.1.RELEASE.jar 383KB
spring-test-3.2.1.RELEASE.jar 444KB
spring-beans-3.2.1.RELEASE.jar 593KB
spring-context-support-3.2.1.RELEASE.jar 125KB
spring-context-3.2.1.RELEASE.jar 838KB
spring-oxm-3.2.1.RELEASE.jar 72KB
spring-tx-3.2.1.RELEASE.jar 235KB
commons-logging-1.1.jar 52KB
log4j-1.2.13.jar 350KB
spring-jms-3.2.1.RELEASE.jar 200KB
cglib-2.2.2.jar 280KB
commons-lang-2.4.jar 256KB
jstl-1.2.jar 405KB
spring-expression-3.2.1.RELEASE.jar 191KB
spring-build-src-3.2.1.RELEASE.jar 69KB
spring-core-3.2.1.RELEASE.jar 843KB
mybatis-spring-1.1.1-SNAPSHOT.jar 40KB
spring-jdbc-3.2.1.RELEASE.jar 392KB
spring-aspects-3.2.1.RELEASE.jar 48KB
共 41 条
- 1
柳波
- 粉丝: 322
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页