ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring——19 声明式事务

2019-08-26 16:01:29  阅读:134  来源: 互联网

标签:事务 管理器 19 Spring 程序员 spring 控制代码 声明


1.编程式事务

概念:由程序员编程事务控制代码
举例:OpenSessionInView

2.声明式事务

  1. 概念:
    事务控制代码已经由 spring 写好,程序员只需要声明出哪些方法需要进行事务控制和如何进行事务控制
  2. 声明式事务都是针对于 ServiceImpl 类下方法的
  3. 事务管理器基于通知(advice)的
  4. 在 spring 配置文件中配置声明式事务
    事务管理器
    声明哪些方法需要事务管理
    基于通知写的需要切点配置
<!-- 基于属性文件配置需要加这句话 --> 
<context:property-placeholder location="classpath:db.properties,classpath:second.pr operties"/> 
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverMa nagerDataSource"> 
<property name="driverClassName" value="${jdbc.driver}"></property> 
<property name="url" value="${jdbc.url}"></property> 
<property name="username" value="${jdbc.username}"></property> 
<property name="password" value="${jdbc.password}"></property> 
</bean>
<!-- spring-jdbc.jar 中 --> 
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSour ceTransactionManager"> 
<!-- 事务管理器要连接数据源才可以生效 --> 
<property name="dataSource" ref="dataSource"></property> 
</bean>
<!-- 配置声明式事务 --> 
<tx:advice id="txAdvice" transaction-manager="txManager"> 
	<tx:attributes>
	<!-- 哪些方法需要有事务控制 --> 
	<!-- 方法以 ins 开头事务管理 --> 
	<tx:method name="ins*" /> 
	<tx:method name="del*" /> 
	<tx:method name="upd*" /> 
	<tx:method name="*" /> 
	</tx:attributes> 
</tx:advice>

<!--配置切点--> 
<aop:config>
<!-- 切点范围设置大一些 --> 
<aop:pointcut expression="execution(* com.youdian.service.impl.*.*(..))" id="mypoint" /> 
<aop:advisor advice-ref="txAdvice" pointcut-ref="mypoint" /> 
</aop:config>

标签:事务,管理器,19,Spring,程序员,spring,控制代码,声明
来源: https://blog.csdn.net/Re_view/article/details/100079573

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有