首页 > 其他分享 >spring事务注解

spring事务注解

时间:2022-12-09 12:34:13浏览次数:39  
标签:事务管理 事务 管理器 spring Transactional 注解 public


步骤:

  1. 在需要管理事务的方法或者类上面 添加@Transactional 注解
  2. 配置注解驱动事务管理(事务管理注解生效的作用)(需要配置对特定持久层框架使用的事务管理器)

根据​​我spring的博客进行修改:​​

第一步:Service层

//业务层
@Service(" accountService")
public class AccountService {
//注入dao
@Autowired
@Qualifier("accountDAO" )
private AccountDAO ac countDAo;
/ /转账的业务操作
@Transactional(在方法上添加事务注解)
public void transfer(String outUsername , String inUsername, Double money)
//转出
accountDAO.out(outUsername, money);
//审造异常
int d=1/0;
//转入
accountDAo. in( inUsername , money);
}
}

可以在@Transactional注解里面添加参数实现各种控制(具体看上一个博客的书写)

spring事务注解_Source

第二步:DAO层

@Repository(" accountDA0")
public class AccountDAO extends JdbcDaoSupport{
@Autowired
public void setSuperDat aSource (DataSource dataSource){
//调用父类的方法, 注入数据源,获取慎版类
super. setDataSource( dataSource);
}
}

第三步:配置注解驱动事务管理:

<!--注册事务注解驱动-->
<tx: annotation-driven transact ion manager= "transact ionManager"/>
<!--配置具体的事务管理器:jdbc- - >
<bean id= "transactionManager" class= "org. springframework. jdbc . datasource . DataSource TransactionManager">
<property name= "dataSource" ref= "dataSource "/>
</bean>

别的和上一个事务的配置一样

注意1:

  • 如果 @Transactional 标注在 Class 上面, 那么将会对这个 Class 里面所有的 public方法都包装事务方法。等同于该类的每个公有方法都放上了@Transactional。
  • 如果某方法需要单独的事务定义,则需要在方法上加@Transactional来覆盖类上的标注声明。

注意2:

  • 配置注解驱动事务管理的时候,tx:annotation-driven/默认会自动查找并加载名字为transactionManager的事务管理器Bean,因此,当事务管理器的bean的名字为transactionManager 时,可以省略transaction-manager的属性


标签:事务管理,事务,管理器,spring,Transactional,注解,public
From: https://blog.51cto.com/u_15907536/5924870

相关文章

  • springMVC的简介和工作机制(工作流程)
    springMVC简介大部分java应用都是web应用,展现层是web应用最为重要的部分。Spring为展现层提供了一个优秀的web框架SpnngMVC。和众多其他web框架一样,它基于MVC的设计理念,此......
  • springboot集成kettle实现对接oracle数据
    简单记录一下springboot引用kettle对接数据第一步(这一步讲述了下载kettle、创建数据库连接、转换等,如果这一步会的可以略过,直接看第二步)先从kettle官网下载kettle,官网地......
  • 使用注解配置springmvc案例
    第一步:创建controller类(使用注解不用实现接口)@Controller//表示当前的类是一个controllerpublicclassHello2{@RequestMapping("show1")//可以省略后缀publicModel......
  • springmvc案例(依赖,插件、配置文件、controller层、jsp页面展示)
    第一步:创建一个maven的web工程第二步:进行导入依赖(spring的依赖应该也需要)<!--mvc的依赖--><dependency><groupId>org.springframework</groupId><artifac......
  • 创建springboot过滤器
    springboot过滤器importorg.springframework.core.ParameterizedTypeReference;importorg.springframework.web.context.WebApplicationContext;importorg.springframewo......
  • springboot+mybatis+log4j日志sql输出和文件输出
    pom引入依赖:<dependency><!--排除spring-boot-starter-logging--><groupId>org.springframework.boot</groupId><artifactId>sprin......
  • 面试题之Spring中后置处理器的作用
    Spring中后置处理器的作用Spring中的后置处理器分为BeanFactory后置处理器和Bean后置外理器,它们是Spring底层源码架构设计中非常重要要的一种机制,同时开发者也可以......
  • Hello,SpringBoot
    什么是SpringBoot一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置,youcan"justrun",能迅速的开发web应用,几行代码开发......
  • Spring容器中找不到ServletWebServerFactory类出现的异常
    1. https://cloud.tencent.com/developer/article/1893349。 TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCata......
  • 【Spring】装配Bean 组件扫描
    实现自动装配需要用注解:注解分为spring规范和java规范,java规范需要引入javax.inject包,使用maven,直接引入。从中可以看到@Named@Inject属于java规范,@Component @Auto......