行业资讯 2025年08月6日
0 收藏 0 点赞 911 浏览 1265 个字
摘要 :

1.spring基于XML的声明式事务环境搭建 (1)创建java项目,导入jar包 包括IOC,AOP,数据库驱动,以及数据库事务相关: 合计如下: (2)创建模拟的service和dao (3……

1.spring基于XML的声明事务环境搭建
(1)创建java项目,导入jar包
包括IOC,AOP,数据库驱动,以及数据库事务相关:
基于XML的spring声明式事务控制——Spring框架系列教程(22)
合计如下:
基于XML的spring声明式事务控制——Spring框架系列教程(22)
(2)创建模拟的service和dao
基于XML的spring声明式事务控制——Spring框架系列教程(22)
(3)创建bean.xml。添加beans,aop,tx的名称空间
配置servcie和dao的bean以及配置spring内置数据源
基于XML的spring声明式事务控制——Spring框架系列教程(22)
(4)配置spring的声明式事务控制

<!-- spring基于XML的声明式事务控制 -->
     <!-- 第一步 配置事务管理器 -->
     <bean id="transcationManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 注入数据源 -->
         <property name="dataSource" ref="dataSource"></property>
     </bean>
     
     <!-- 第二步:配置事务通知 -->
     <tx:advice id="txAdvice" transaction-manager="transactionManager">
         <!-- 第四步 配置事务属性
             isolation:配置事务隔离级别,默认值是DEFAULT,使用数据库的默认隔离级别。mysql数据库是REPEATABLE_READ
             propagation:配置事务传播行为。默认值是REQUIRED,一般的选择,适用增删改方法,当时查询方法时使用SUPPORTS
             read-only:配置是否只读事务,默认值false,读写型事务。当指定为true时,只读事务,只能用于查询方法
             timeout:指定事务的超时时间。默认值是-1,永不超时,当指定其他值时,以秒为单位
             rollback-for:用于指定一个异常,当执行产生该异常时,事务回滚,当产生其他异常时,事务不回滚。没有默认值,任何异常都回滚
             no-rollback-for:用于指定一个异常,当执行产生该异常时,事务不回滚,当产生其他异常时,事务回滚。没有默认值,任何异常都回滚
          -->
         <tx:attributes>
             <!-- 通配查询方法 优先级较高 -->
             <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
             <!-- 通配增删改方法 -->
             <tx:method name="*" propagation="REQUIRED" read-only="false"/>
         </tx:attributes>
     </tx:advice>
     
     <!-- 第三步  配置AOP-->
     <aop:config>
         <!-- 配置切入点表达式 -->
         <aop:pointcut expression="execution(* com.huaiwei.service.impl.*.*(..))" id="pt1"/>
         <!-- 配置切入点表达式和事务通知的关联关系 -->
         <aop:advisor advice-ref="txAdvice" pointcut-ref="pt1"/>
     </aop:config>

基于XML的spring声明式事务控制——Spring框架系列教程(22)

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/7613.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号