spring中涉及事务的内容使用注解开发时,需开启事务的注解驱动

<?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:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><context:component-scan base-package="com.jtyhnet"/><context:property-placeholder location="jdbc.properties"/><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/></bean><!--平台事务管理器--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!--事务的注解驱动--><tx:annotation-driven transaction-manager="transactionManager"/></beans>

其中 <tx:annotation-driven transaction-manager=“transactionManager”/>
当平台事务管理器配置的id为transactionManager 可省略transaction-manager=“transactionManager”,直接写为<tx:annotation-driven/>

但是这样写仍需配置xml文件,注解改造不彻底,使用注解@EnableTransactionManagement标签在spring核心配置类中开启注解支持,详细改造配置如下:

  1. 由于tx:annotation-driven使用TransactionManager,TransactionManager中需注入DataSource,因此,先配置DataSource数据源配置类
package com.jtyhnet.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;import javax.sql.DataSource;
import java.beans.PropertyVetoException;@PropertySource("classpath:jdbc.properties")
public class C3P0DataSource {@Value("${jdbc.driver}")private String driver;@Value("${jdbc.url}")private String url;@Value("${jdbc.username}")private String username;@Value("${jdbc.password}")private String password;@Bean("dataSource")public DataSource getDataSource() throws PropertyVetoException {ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();comboPooledDataSource.setDriverClass(driver);comboPooledDataSource.setJdbcUrl(url);comboPooledDataSource.setUser(username);comboPooledDataSource.setPassword(password);return comboPooledDataSource;}}

2.配置事务管理器配置类,将DataSource注入

package com.jtyhnet.DataSource;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;import javax.sql.DataSource;public class Day05TransactionManager {@Autowiredprivate DataSource dataSource;@Bean("transactionManager")public DataSourceTransactionManager getDataSourceTransactionManager(){DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();dataSourceTransactionManager.setDataSource(dataSource);return dataSourceTransactionManager;}}
  1. 配置spring核心配置类,@Import引入配置类,@EnableTransactionManagement开启事务注解支持
package com.jtyhnet.config;import com.jtyhnet.DataSource.C3P0DataSource;
import com.jtyhnet.DataSource.Day05JdbcTemplate;
import com.jtyhnet.DataSource.Day05TransactionManager;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.transaction.annotation.EnableTransactionManagement;@Configuration
@ComponentScan("com.jtyhnet")
@Import({C3P0DataSource.class, Day05TransactionManager.class})
@EnableTransactionManagement
public class SpringConfiguration {}

spring中<tx:annotation-driven>标签转为注解@EnableTransactionManagement相关推荐

  1. .vue文件 转换成html,在vue中把含有html标签转为html渲染页面的实例

    在vue中把含有html标签转为html渲染页面的实例 在标签内部添加v-html指令即可 使用pug的写法: 这个content表示的是一个含标签的变量 输入content为: 我是p标签 输出结果 ...

  2. spring中tx:advice/tx:advice是什么意思?作用是什么?谁能简单说下

    spring中<tx:advice></tx:advice>是什么意思?作用是什么?谁能简单说下 2013-03-26 17:15暴力娃娃123 | 浏览 13763 次 &l ...

  3. spring中tx:advice中的tx是什么的缩写?

    spring中tx:advice中的tx是什么的缩写? transaction的缩写,即是跟事务相关的配置 tx 根据transaction的发音来缩写出来的

  4. 关于Spring中的context:annotation-config/配置(开启注解)

    转自:https://www.cnblogs.com/doudouxiaoye/p/5681518.html 当我们需要使用BeanPostProcessor时,直接在Spring配置文件中定义这些B ...

  5. Spring中的scope配置和@scope注解

    Scope,也称作用域,在 Spring IoC 容器是指其创建的 Bean 对象相对于其他 Bean 对象的请求可见范围.在 Spring IoC 容器中具有以下几种作用域:基本作用域(single ...

  6. Spring中添加自定义标签

    文章目录 前言 总结 0 项目结构 1. 项目准备 1.1 新建gradle项目 1.2 新建spring配置文件 1.3新建启动类 2. 开始自定义标签 2.1 确定需求 2.2 建立实体类和具体解 ...

  7. Spring高手之路2——深入理解注解驱动配置与XML配置的融合与区别

    文章目录 1. 配置类的编写与Bean的注册 2. 注解驱动IOC的依赖注入与XML依赖注入对比 3. Spring中组件的概念 4. 组件注册 5. 组件扫描 5.1 使用@ComponentSca ...

  8. spring中使用Aspectj进行切面编程

    推荐 个网购 优惠券 领取网站 U券网 uquanfree.com 点击链接进入 Spring的AOP可以通过对@AspectJ注解的支持和在XML中配置来实现,本文通过实例简述如何在Spring中使 ...

  9. spring中自定义注解(annotation)与AOP中获取注解___使用aspectj的@Around注解实现用户操作和操作结果日志

    spring中自定义注解(annotation)与AOP中获取注解 一.自定义注解(annotation) 自定义注解的作用:在反射中获取注解,以取得注解修饰的类.方法或属性的相关解释. packag ...

最新文章

  1. JavaScript作用域面试题避坑指南
  2. openwrt linux rootfs 分区表,Openwrt扩展rootfs到U盘
  3. 赠书:Apache顶级项目,SkyWalking为何一枝独秀?
  4. 窥探黑盒-卷积神经网络的可视化
  5. 用平常心去对待不平常的事
  6. CSS连载-控制背景与CSS精灵
  7. Hibernate自动提交命令强制MySQL在过多的磁盘I / O中运行
  8. WIFI vs 无线网
  9. OpenCL memory object 之 Global memory (1)
  10. 如何使用BorgBackup,Rclone和Wasabi云存储推出自己的备份解决方案
  11. 知新 | koa框架入门到熟练第二章
  12. 微信 android 省略号,安卓版微信再现重大Bug,点击链接直接崩溃
  13. Feign Client 原理和使用
  14. iOS 仿淘宝实现商品规格图片的放大缩小功能
  15. Linux 系统中的超级权限的控制
  16. [na]思科产品选型pdf
  17. 如何写好一篇科技论文?
  18. 乐虎 尖叫_如果您想更快地尖叫! 为什么政府技术需要(很多)更好的治理
  19. go srs 流媒体服务器_Go语言实现的流媒体服务器开发框架
  20. Vistor(访问者模式)行为型

热门文章

  1. 【渝粤题库】陕西师范大学200601 英语报刊阅读
  2. 这样投简历,99%没面试机会!
  3. 内网渗透之CFS三层靶场渗透
  4. 【CodeForces】896 B. Ithea Plays With Chtholly
  5. ps切图的零散小知识
  6. CSS 帧动画 播放动画
  7. php代码计算三角形面积,c语言计算三角形面积代码
  8. 手机、平板与手表,华为一个都不能少
  9. JAVA编码(37)—— Java字符串转换为MAP对象
  10. 使用magick 遇到 convert: Non-conforming drawing primitive definition `text'错误的解决办法...