Spring事务中的自调用中,被调用的方法上的@Transactional注解是不是完全无效了?

譬如

public class ShopServiceImpl{    
    @Transactional
    public void do1(){
        do2();
    }    
    @Transactional
    public void do2(){
        ....
    }   
}

如上代码,do1调用do2()时,do2()上的@Transactional,其定义的传播属性譬如PROPAGATION_NOT_SUPPORTED,PROPAGATION_NEVER,或者timeout等是不是统统无效?


互换的青春
浏览 704回答 2
2回答

慕少森

遇到过这种情况,当时的做法是注入自身的代理对象,然后用这个对象去调方法就可以了@Autowiredprivate ShopServiceImpl impl;@Transactionalpublic void do1(){     impl.do2(); }
打开App,查看更多内容
随时随地看视频慕课网APP