为了账号安全,请及时绑定邮箱和手机立即绑定

java的框架spring中的<tx:method>有什么作用?

java的框架spring中的<tx:method>有什么作用?

开心每一天1111 2021-02-23 12:15:41
这是我的配置文件 首先 项目运转正常我想问的是 tx:method定义了一个方法aop:pointcut expression="xxx"也定义了方法那么这两者有何区别呢?
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

<tx:method>是进行事务设置的,也就是说那些方法遵循事务的一致性。

举例: 

 <tx:advice id="baseServiceAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="getDao" propagation="NOT_SUPPORTED"/>
<tx:method name="getJdbcTemplate" propagation="NOT_SUPPORTED"/>
<tx:method name="getHDao" propagation="NOT_SUPPORTED"/>
<tx:method name="getHibernateDao" propagation="NOT_SUPPORTED"/>
<tx:method name="getHibernateTemplate" propagation="NOT_SUPPORTED"/>
<tx:method name="getModelClass" propagation="NOT_SUPPORTED"/>
<tx:method name="get*" read-only="true" propagation="REQUIRED"/>
<tx:method name="find*" read-only="true" propagation="REQUIRED"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="remove*" propagation="REQUIRED"/>
<tx:method name="add*" propagation="REQUIRED"/>
 <tx:method name="*"/>
 </tx:attributes>

备注:通常一些查询的方法不涉及到数据库更改,直接不需要进行事务处理即可,如果是增加、修改、删除操作的话,必须保持事务的一致性,也就是说如果出错,整个事务全部回滚,如果成功,整个事务全部成功。



查看完整回答
反对 回复 2021-03-18
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

method是指你需要某种事务的方法名,一般后面接name="";

Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的.
Pointcut可以有下列方式来定义或者通过&& || 和!的方式进行组合.
aop:pointcut expression="" 定义在service包和所有子包里的任意类的任意方法的执行:

查看完整回答
反对 回复 2021-03-18
  • 2 回答
  • 0 关注
  • 523 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信