当前位置: 首页 > 面试题库 >

Spring TX:建议和Spring AOP切入点之间的区别

胡鸿禧
2023-03-14
问题内容

我是新来的春天,具有hibernate的工作知识。我的工作是通过使用Spring声明式方法来实现交易。由于Google的帮助,我成功地在Google的帮助下完成了交易。但是无法清楚地了解我在application-
context.xml中使用的术语。

1。

     <tx-advice>

    </tx-advice>

1. <aop-config> // here is point cut were declared </aop-config>

有人可以向我解释以上几点,与此同时,我也试图从google上了解它。


问题答案:

您已经成功实施了spring transaction

Spring我们可以通过三种方式实现交易:

  1. 平台交易管理。
  2. 声明式 事务管理。
  3. 程序化 交易管理。

您实现的被称为 通过XML的声明式事务管理

简而言之,您transaction通过Spring的AOP功能进行了实现。

tx:advice XML配置与基于XML的AOP配置耦合在一起,可以实现协同组合。例如,我们可以使用方法名称来自动确定我们要对该方法应用哪种事务。

假设
我们想在与启动所有方法应用事务savemodifysavePizza()saveColdDrink()modifyOrder()modifyBill()。对于这些,我们必须advice在xml文件中定义:

<tx:advice id="txAdvice" >
  <tx:attributes>
    <tx:method name="save*" propagation="REQUIRED"/>
    <tx:method name="modify*" propagation="REQUIRED"/>
  </tx:attributes>
</tx:advice>

正如我们在上面一行中所说的那样,我们的建议已经准备就绪,我们只希望以save或开头的方法进行交易modify。现在,我们将使用的pointcut元素来说明哪些bean需要上述建议aop- config。例如,假设我们要将交易建议应用于com.mytransaction.service包内所有可用的类。

为此,我们必须在xml文件中添加以下行:

<aop:config>
  <aop:pointcut id="allServices"
    expression="execution(*com.mytransaction.service.*.*(..))"/>
  <aop:advisor advice-ref="txAdvice" pointcut-ref="allServices"/>
</aop:config>

简而言之,<tx:advice>是指我们要应用的交易方式或行为。 pointcut内部元素<aop- config>表示要在何处应用交易,例如<aop:advisor advice-ref="txAdvice" pointcut- ref="allServices"/>



 类似资料:
  • 本文向大家介绍1G和2G协议之间的区别,包括了1G和2G协议之间的区别的使用技巧和注意事项,需要的朋友参考一下 1G和2G是两代手机。1G代表第一代,2G代表第二代。 以下是1G和2G之间的重要区别。 序号 键 1G 2G 1 定义 1G代表第一代。它在美国带来了无线通信。 2G代表第二代,在美国带来了语音和数字通信。 2 交换 1G使用电路交换。 2G同时使用电路交换和分组交换。 3 互联网 在

  • 问题内容: 我是Docker的新手,对ockfile有一个简单的问题。我们可以在停靠文件中写入入口点和CMD。似乎在创建容器期间执行了入口点。并且在启动容器期间执行CMD。这是真的? 问题答案: 不完全是: 配置将作为可执行文件运行的容器。 因此它 总是 执行的(或者默认是)。 命令行参数to 将以exec形式附加在所有元素之后,并将覆盖使用CMD指定的所有元素。 shell形式阻止使用任何或运行

  • 问题内容: 转到“切片”问题,请检查以下内容,并在我遗漏某些东西时发表评论。 输出: 以上是合理的。 输出: 这是否也应该使数组摆脱s = s [:2]的恐慌? 问题答案: Go中的Subslicing可让您在切片末尾进行切片,只要它仍在底层阵列的容量范围内即可。您不能 在 该切片的开始 之前 进行切片,但是只要不超过最后分配的索引,就可以在该切片之后进行切片。 例如,然后工作,但随后会出现恐慌,

  • 有人能解释一下GraalVM和Jvm热点之间的区别,以及GraalVM与OpenJDK热点的关系吗。

  • 问题内容: 我知道Java,现在正在学习Objective-C。Java接口和Objective-C协议之间到底有什么区别? 问题答案: 首先,从Java的一位创建者那里对该主题进行了一些历史性的展望。接下来,维基百科在Objective- C协议中 提供了适度有用的部分。特别要了解的是,Objective- C支持 正式协议 (使用关键字明确声明,相当于Java接口)和 非正式协议 (仅一个或多

  • 我很困惑为什么JavaPoint类需要两个int参数,而getX()和getY()方法返回双精度 如果我打电话... 它将返回4.0。如果我打电话 我会得到4分。 有什么原因吗?