Spring事务管理,使用@Transactional注解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring事务管理,使用@Transactional注解相关的知识,希望对你有一定的参考价值。

1.导入所需jar包(Spring3.0之后不再一起发布依赖包,要自行下载)

技术分享

2.在applicationContext.xml配置文件加入以下属性

   <!-- spring 事务配置管理,Hibernate单数据源事务 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <!-- 注册事务注解处理器  -->
    <tx:annotation-driven transaction-manager="transactionManager" />

3.在需要使用事务的类和方法上加上@Tranactional

@Transactional
public class NewsDaoImpl implements NewsDaoIntf{
    
    @Autowired
    @Qualifier("sessionFactory")
    private SessionFactory sf;
    
    private List<News> list=new ArrayList<News>();
    
    @Override
    @Transactional(readOnly=false)
    public List<News> getAllNews() {
        
        Session session=sf.getCurrentSession();

        Query query=session.createQuery("from News");
        list=query.getResultList();
        
        return list;
    }
}

 

以上是关于Spring事务管理,使用@Transactional注解的主要内容,如果未能解决你的问题,请参考以下文章

[mybatis-spring] Transaction 事务/事务处理/事务管理器

Spring Transaction + MyBatis SqlSession事务管理机制研究学习

Spring 事务Transaction源码深度解析

Spring事务管理Transaction

spring transaction注解原理

Spring 事务Transaction源码深度解析