如果目标类方法是同步的,java是否也同步了spring代理调用?
我使用的是spring事务,我的一个服务类方法需要同步,如下所示
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>
所以,当我在Springbean(xyzManager)上调用methodA或methodB时,它仍然是一个同步调用吗?请帮帮我
# 1 楼答案
答案很快就是“是”。 Spring创建“容器”,并且不触及方法的原始签名