首页 > 编程语言 >Java开启事务(@Transactional)

Java开启事务(@Transactional)

时间:2024-04-22 10:23:42浏览次数:25  
标签:事务 Java String Spring Transactional 开启 注解 方法

开始事务的代码可以使用 Spring 的事务管理器来实现。具体步骤如下:

1. 在 Spring 配置文件中配置事务管理器和事务通知器:

```
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="select*" read-only="true"/>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
```

2. 在需要开启事务的方法上添加事务注解:

```
@Transactional
public ReponseEntity<List<User>> selectUserPage(Integer pageNum, Integer pageSize, String username, String email, String address) {
// ...
}
```

3. 在方法执行前,Spring 会自动开启一个事务,并将其绑定到当前线程上。如果方法执行成功,Spring 会提交事务;如果方法执行失败,Spring 会回滚事务。

注意:事务注解需要放在公共方法上才能生效。如果事务注解放在了私有方法上,Spring 将无法代理该方法,事务也无法生效。

标签:事务,Java,String,Spring,Transactional,开启,注解,方法
From: https://www.cnblogs.com/stevenduxiang/p/18150096

相关文章

  • java 调用命令执行操作方法
    /***运行系统命令并返回命令结果*@paramcommand要执行的命令*@return命令执行的结果*/publicstaticStringexecuteCommand(Stringcommand)throwsIOException{StringBuilderoutput=newStringBuilder();//......
  • Java中用forEach和lamad优化for循环
    1importjava.util.Arrays;2importjava.util.List;3importjava.util.function.IntBinaryOperator;456List<String>names=Arrays.asList("Alice","Bob","Charlie");78//方式一for输出9for(inti=0;i<......
  • Java 线程安全思路
    线程安全1、先来了解一下:为什么多线程并发是不安全的?****在操作系统中,线程是不拥有资源的,进程是拥有资源的。而线程是由进程创建的,一个进程可以创建多个线程,这些线程共享着进程中的资源。所以,当线程一起并发运行时,同时对一个数据进行修改,就可能会造成数据的不一致性,看下面的例......
  • 【Java定时任务】浅谈CronTrigger的用法和在线Cron表达式生成网址
    1.CronTrigger的作用CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三......
  • 对于前三次的pta题集练习,由于我的偷懒和迟钝,有许多部分没有完成,但在此我还是对题目集
    第一道大题题目信息7-1答题判题程序-1分数50作者蔡轲单位南昌航空大学设计实现答题程序,模拟一个小型的测试,要求输入题目信息和答题信息,根据输入题目信息中的标准答案判断答题的结果。输入格式:程序输入信息分三部分:1、题目数量格式:整数数值,若超过1位最高位不能为0,......
  • Java入门
    Java入门helloworld新建一个文件夹,将要把写的代码放在里面打开文件夹,右键新建一个.txt,将后缀改为.java,为之命名。例如:Hello.java右键文件,选择用notepad++打开文件在notepad++编写代码publicclassHello{ publicstaticvoidmain(String[]args) { System.out......
  • java 答案判题程序
    7-1答题判题程序-1前言这些题目主要用到对象与类的处理:对象是现实世界或抽象概念中的实体在计算机程序中的表示。类则是具有相同属性和方法的对象的集合,是创建对象的模板。通过类,我们可以定义一类对象的共同特征和行为。1.字符串处理:需要对输入的题目信息和答题信息进行字符......
  • Java安全基础之Java Web核心技术
    目录JavaEEJavaMVCServletJSPFilterJDBCRMIJNDIJavaEEJava平台有3个主要版本:JavaSE(JavaPlatformStandardEdition,Java平台标准版)JavaEE(JavaPlatformEnterpriseEdition,Java平台企业版)JavaME(JavaPlatformMicroEdition,Java平台微型版)其中JavaEE......
  • JAVA第一次博客
    目录:一.前言二.设计与分析三.踩坑心得四.改进建议五.总结一.前言:一开始接触的就是C语言,而后是Java。两者有相通的也有不同的,C语言面向过程,而JAVA则是面向对象。感觉JAVA的面向对象和struct有点像。第一次作业偏简单,重点在与正则表达式;第二次作业输出的形式更复杂了;第三次作业增......
  • 5.Java方法
    Java方法方法方法是语句的集合,它们在一块执行一个功能命名规则:首字母小写的驼峰命名规则方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的定义一段用来完成特定功能的代码片段方法包含一个方法头和一个方法体:修饰符返回值类型方法名参数类型......