我曾经为所有 Spring 服务(类)添加@Transactional注释。然后我想:我真的必须这样做吗,如果交易行为应该是一样的?(当然,如果不应该,我们会@Transational在方法中添加其他参数。)我试图找到一些关于继承的有用信息@Transactional,阅读@Inherited(它看起来像@Transactionalis @Inherited)。我对以下示例进行了实验,它看起来rollbackFor像是在为.noRollbackFor@TransactionalGenericServicedoSmthSpecific
@Transactional
public abstract class GenericService {
public void doSmthGeneric() {
}
}
public class SpecificService extends GenericService {
public void doSmthSpecific() {
}
}
如果GenericService是接口,我认为它不起作用。我想这更像是“如果我错了,请纠正我”的问题,我想知道@Transactional仅添加到超类是否真的可以,以及我是否在这里遗漏了一些东西。将不胜感激详细的解释(或此类解释的链接)。