gpt4 book ai didi

java - 旧版 Spring 应用程序 - 切入点值意味着什么?

转载 作者:行者123 更新时间:2023-12-02 07:13:52 27 4
gpt4 key购买 nike

我“继承”了一个旧的 Spring 应用程序。目前它使用的是 Spring 2.5(刚刚升级了一次),并且希望进一步升级到 Spring 3。

我了解大部分应用程序配置。只有一个部分我“不是100%”。我可以大致猜测它可能意味着什么,但我需要绝对确定,因此发布这个问题:

这是配置片段(取决于此处未显示的注释驱动事务管理器):

<aop:config>
<aop:advisor pointcut="execution(* *..ProductManager.*(..))"
advice-ref="txAdvice" />
</aop:config>

<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="save*" />
<tx:method name="*" read-only="false" />
</tx:attributes>
</tx:advice>

我的两个具体问题是:

  • “execution(* ..ProductManager.(..))”是什么意思(我理解切入点说法)
  • 在建议的属性部分中,我们说将事务应用于所有与 save* 相关的方法,并且对于所有只读都是 false。谁能解释一下为什么这个设置有意义?它是否是附加且有效的说法,对于所有具有事务支持的方法(即仅保存*方法),我也希望这些方法不是只读事务。或者它是否对包含事务过滤器(在切入点中定义)的每个方法应用不同的东西(即某种形式的事务支持)。

感谢您的任何澄清。请不要提供一般性答案 - 我需要对此进行具体解释。

最佳答案

tx:method具有属性read-only默认值为 false,表示事务是读/写的。

所以在我看来,

<tx:method name="save*" read-only="false" />
<tx:method name="*" />

相当于

<tx:method name="*" />

关于java - 旧版 Spring 应用程序 - 切入点值意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15196727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com