首页 > 其他分享 >spring5 事务

spring5 事务

时间:2022-08-21 13:35:40浏览次数:58  
标签:事务 userDao service springframework org import spring5

1.事务介绍

1.1 事务添加到javaEE的service

1.2 声明式事务和编程试

1.3 声明式

  xml 事务开发

  注解方式

1.4 在Spring中进行事务开发底层用的aop原理

1.5 Spring事务管理Api

 

2. 步骤

2.1 开启事务管理器

2.2 开始事务注解

2.3 在service层中加入,可以加载类上面,也可以加在方法上面

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

    <context:component-scan base-package="com.demo">

    </context:component-scan>

<!--    引入外部属性文件-->
    <context:property-placeholder location="classpath*:jdbc.properties"/>

    <!--    数据库连接池-->
    <bean id="druid" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${prop.driverClassName}"></property>
        <property name="url" value="${prop.url}"/>
        <property name="username" value="${prop.username}"/>
        <property name="password" value="${prop.password}"/>
    </bean>

    <!--    jdbc模板对象-->

    <bean id="jdbc" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="druid"></property>
    </bean>

    <!--    开启事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="druid"></property>
    </bean>
    <!--    开启注解-->
    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

</beans>

 

package com.demo.service;

import com.demo.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public class UserService {
    @Autowired
    private UserDao userDao;
    public void account(){
        userDao.addMoney();
        int a = 10/0;
        userDao.reduceMoney();
    }
}

 

标签:事务,userDao,service,springframework,org,import,spring5
From: https://www.cnblogs.com/cciscc/p/16609853.html

相关文章

  • mysql事务
    1.事务是什么?2.acid特性3.隔离级别4.实现:mvcc锁undologredolog5.并发异常读异常死锁 目的:事务讲数据库从一种一致性状态转换成另一种一致性状态。组成:事务可以......
  • MySQL之事务和索引
    视图概念:就是有一张或者多张表组织成的结果形成的一张虚拟表,仅仅是为了更便捷的查看数据而产生的,无法使用sql语句做增删改的操作!(不推荐使用)语句结构:createview......
  • 视图、触发器、存储过程、事务(掌握)、内置函数、流程控制、循环结构、索引与慢查询优
    视图SQL语句执行的结果是一张虚拟表,我们可以基于这张表做其他的操作,如果这张虚拟表需要频繁使用,为了方便可以将这张虚拟表保存起来,保存之后就称之为视图(view)。视图的本......
  • 30. Redis---事务(24补充)
    1.前言Redis事务的目的是方便用户一次执行多个命令。执行Redis事务可分为三个阶段:开始事务命令入队执行事务2.Redis事务特性Redis事务具有两个重要特性:1)单......
  • 【Spring5学习笔记(4)】事务管理:
    事务1、什么是事务(1)事务是数据库操作的最基本单元,是逻辑上的一组操作,要么都成功,如果有一个失败则所有操作都失败(2)经典场景:银行转账2、事务的四个特性(ACID)(1)原子性:一组逻辑操......
  • 事务与流程与索引
    视图SQL语句的执行后产生的结果是一张虚拟表,我们可以对该表做其他操作,如果这张虚拟表需要频繁使用,那我们就可以将这张虚拟表保存起来,保存起来的就被称为'视图'createvi......
  • Mysql事务控制
    事务Transaction并发控制的基本操作可以看成一系列的SQL语句要么成功,要么失败,失败回滚事务特性ACID原子性Atomicity:事务内的操作要么全部成功,要么全部失败一致性C......
  • tkMapper事务隔离级别_事务的传播机制
    事务的传播机制@Transactional(propagation=Propagation.SUPPORTS)一般来讲,查询操作SUPPORTS带有增删改操作的,REQUIRED,表示是需要事务的隔离级别,可以使用......
  • spring5 ioc 管理bean 注解
    1.注解种类@Component(value="student")@Service@Repository@Controller 2.使用注解扫描包<context:component-scanbase-package="com.cj"></context:componen......
  • MySQL事务与锁
    数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是......