我已经“继承”了旧的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>
我具体的两个问题是:
感谢您的任何澄清。请不要一般答案 - 我需要对此进行具体解释。
答案 0 :(得分:2)
由于tx:method
的属性read-only
的默认值为false,表示事务是读/写。
所以在我看来,
<tx:method name="save*" read-only="false" />
<tx:method name="*" />
相当于
<tx:method name="*" />
答案 1 :(得分:0)
execution(* *..ProductManager.*(..))
表示“对于ProductManager类中的所有方法”
tx:建议设置不是附加的。 它表示对于以保存开头的所有方法,请使用默认的事务设置。 对于其他人,此设置意味着它们不是只读事务。
对于常识,人们会期待
<tx:method name="save*" read-only="false" />
<tx:method name="*" />