码迷,mamicode.com
首页 > 编程语言 > 详细

Spring的Service调用本类方法声明式事务无效的解决方案

时间:2017-08-11 17:50:05      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:stc   方法   getbean   pos   app   class   方案   nal   post   

示例:

class Test{
    public void a(){
        b();
    }

    @Transactional
    pubic void b(){}
}
// 此时b方法注解声明式事务是无效的

解决方案:

通过本类实例来调用,代码如下

class Test{

    @Autowire
    private ApplicationContext context;

    private Test self;

    @PostConstruct
    private void setSelf(){
        self = context.getBean(Test.class); 
    }

    public void a(){
        self.b(); // 通过本类实例调用就生效了
    }

    @Transactional
    pubic void b(){}
}
// 我试图通过Autowire直接注解Test到Test,报出了错误,所以采用了从容器获取实例的方式。

 

Spring的Service调用本类方法声明式事务无效的解决方案

标签:stc   方法   getbean   pos   app   class   方案   nal   post   

原文地址:http://www.cnblogs.com/lay2017/p/7347124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!