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. Altair PollEx 2020中文版
  2. h5调用摄像头拍照可以自定义拍照页面吗_回归单摄时代?小米伸缩式摄像头技术曝光,网友:好家伙...
  3. Ubuntu16.04下Hadoop 2.7.3的安装与配置
  4. linux下storm集群配置,Twitter Storm 系统集群搭建
  5. 【Java小游戏】小球躲避游戏 图片轮播爆炸效果、边缘反弹、计时功能
  6. luogu P3244 [HNOI2015]落忆枫音
  7. 周末爬山之圈门-潭柘寺
  8. 如何配置 Linux ipv6 6RD隧道
  9. 最近一段时间的手工作品
  10. 那些令人喷饭的代码注释:仅以此代码献给...it's realy ?
  11. 网易云音乐代码如何写入html,如何将网易云音乐加入到自己的网站!
  12. oracle知否有用coherence,Oracle Coherence概述
  13. java编程马拉松比赛_编程马拉松 | Hackathon is coming!
  14. [Android 测试] 性能回归测试之 MonkeyRunner使用、插件扩展、结合批处理
  15. ipcs中的dest是什么意思
  16. 马斯克的“圣战”:阻止人工智能毁灭人类
  17. java边界布局东南西北_第58节:Java中的图形界面编程-GUI
  18. 16S多样性测序,到底该选啥引物?!
  19. 智慧楼宇篇 6 —— 室内定位技术(五) - 室内定位技术总结
  20. 视频教程-shader 基础之 2D技巧集合-Unity3D

热门文章

  1. 10个致工程师在工作中快速成长的技巧
  2. VB.net应用技巧5: VB.net 除法运算
  3. 衡量电子计算机性能指标是,衡量计算机的性能指标有
  4. 优秀的 Verilog/FPGA开源项目介绍(二十一)- 卷积神经网络(CNN)
  5. 怎么把cad的图导入ps_CAD图纸导入Photoshop的方法有哪些?
  6. SSM项目跨域访问处理(含白名单处理)
  7. 【完整教程】nginx反向代理wss,实现不修改服务器端websocket代码加密通讯请求
  8. three.js学习笔记(五)——Shadows阴影
  9. 黑白双轨棋·改编(定子棋,终盘换子,在计算赢子的多少)
  10. 域名证书和SSL证书一样的吗?有什么区别呢