首页 > 其他分享 >spring5 事务 纯注解开发

spring5 事务 纯注解开发

时间:2022-08-21 17:36:29浏览次数:58  
标签:事务 import springframework public dataSource org 注解 annotation spring5

1.TxConfig

package com.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@ComponentScan("com.demo")
@EnableTransactionManagement
public class TxConfig {
    @Bean
    public DruidDataSource getDruidDataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://203.195.254.63:3306/mytest");
        dataSource.setUsername("myTest");
        dataSource.setPassword("jx22hmyDtzfHHtLy");
        return dataSource;
    }
    @Bean
    public JdbcTemplate getJdbcTemplate(DruidDataSource dataSource){
        JdbcTemplate jdbcTemplate = new JdbcTemplate();
        jdbcTemplate.setDataSource(dataSource);
        return jdbcTemplate;
    }
    @Bean
    public DataSourceTransactionManager getDataSourceTransactionManager(DruidDataSource dataSource){
        DataSourceTransactionManager manager = new DataSourceTransactionManager();
        manager.setDataSource(dataSource);
        return manager;
    }
}

 

2.UserService

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.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.REPEATABLE_READ)
public class UserService {
    @Autowired
    private UserDao userDao;
    public void account(){
        userDao.addMoney();
        int a = 10/0;
        userDao.reduceMoney();
    }
}

 

标签:事务,import,springframework,public,dataSource,org,注解,annotation,spring5
From: https://www.cnblogs.com/cciscc/p/16610373.html

相关文章

  • 视图、触发器、事务
    视图一、介绍SQL语句的执行结果是一张虚拟表,我们可以基于该表做其他操作如果这张虚拟表需要频繁使用,为了方便,可以将虚拟表保存起来,宝尊之后就称之为“视图”(本质就是一......
  • 【Spring5学习笔记(5)】新特性与WebFlux:
    Spring5框架新功能1、整个Spring5框架的代码基于java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除2、spring5.0框架自带了通用的日志封装(1)Spring5.0已经移......
  • spring5 事务
    1.事务介绍1.1事务添加到javaEE的service1.2声明式事务和编程试1.3声明式xml事务开发注解方式1.4在Spring中进行事务开发底层用的aop原理1.5Spring事......
  • @ImportResource 注解的使用
    本文目录:1.Spring方式的配置文件bean.xml此处随便举个示例,比如说xml中配置了一个helloService,如下所示2.使用@ImportResource注解,引入xml配置3.测试结果......
  • JSON解析器Jackson_java对象转json和JSON解析器Jackson_java对象转json注解
    JSON解析器Jackson_java对象转jsonJSON数据和Java对象的相互转换JSON解析器:常见的解析器:Jsonlib,Gson,fastjson,jackson1.JSON转为Java对象在后......
  • mysql事务
    1.事务是什么?2.acid特性3.隔离级别4.实现:mvcc锁undologredolog5.并发异常读异常死锁 目的:事务讲数据库从一种一致性状态转换成另一种一致性状态。组成:事务可以......
  • MySQL之事务和索引
    视图概念:就是有一张或者多张表组织成的结果形成的一张虚拟表,仅仅是为了更便捷的查看数据而产生的,无法使用sql语句做增删改的操作!(不推荐使用)语句结构:createview......
  • 视图、触发器、存储过程、事务(掌握)、内置函数、流程控制、循环结构、索引与慢查询优
    视图SQL语句执行的结果是一张虚拟表,我们可以基于这张表做其他的操作,如果这张虚拟表需要频繁使用,为了方便可以将这张虚拟表保存起来,保存之后就称之为视图(view)。视图的本......
  • Java自定义注解
    ​/**作者:呆萌老师*☑csdn认证讲师*☑51cto高级讲师*☑腾讯课堂认证讲师*☑网易云课堂认证讲师*☑华为开发者学堂认证讲师*☑爱奇艺千人名师计划成员*在这里给大......
  • 30. Redis---事务(24补充)
    1.前言Redis事务的目的是方便用户一次执行多个命令。执行Redis事务可分为三个阶段:开始事务命令入队执行事务2.Redis事务特性Redis事务具有两个重要特性:1)单......