Java 如果同步了目标类方法,spring代理调用是否也同步?
我使用的是spring事务,我的一个服务类方法需要同步,如下所示Java 如果同步了目标类方法,spring代理调用是否也同步?,java,spring,synchronization,Java,Spring,Synchronization,我使用的是spring事务,我的一个服务类方法需要同步,如下所示 package com.xyz.service; class XYZService{ public synchronized void methodA{ } public synchronized void methodB{ } } 我将spring TXN应用于我的服务类,如下所示 <aop:config> <aop:advisor id="serviceTx" a
package com.xyz.service;
class XYZService{
public synchronized void methodA{
}
public synchronized void methodB{
}
}
我将spring TXN应用于我的服务类,如下所示
<aop:config>
<aop:advisor id="serviceTx" advice-ref="txAdvice" pointcut="execution(* *..service.*Manager.*(..)) order="0"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<bean id="xyzManager" class="com.xyz.service.XYZService">
</bean>
快速的回答是“是”。
Spring创建“容器”,并且不接触方法的原始签名。那么我怀疑应用代理后的方法是否也同步了。。?让我们假设methodA
被代理并成为proxy@metodA
然后proxy@metodA
也是同步的,因为该方法是同步的。。。。