一、加入事物的名空间
xmlns:tx="http://www.springframework.org/schema/tx"
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
二、定义事务管理器
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
三、定义事务注解支持
<tx:annotation-driven transaction-manager="transactionManager"/>
之后在需要事务处理的方法上加上@Transactional就可以了
StudentsDAOImpl.java
package com.spr.dao;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import com.spr.vo.Students;
@Component("studentsDAOImpl")
public class StudentsDAOImpl implements StudentsDAO{
@Resource
private SessionFactory sessionFactory;
@Override
@Transactional
public boolean saveStudents(Students s) {
// TODO Auto-generated method stub
if(s != null){
Session session = sessionFactory.getCurrentSession();
session.save(s);
return true;
}
else{
return false;
}
}
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}
关于@Transactional一些参数的说明
源码下载: 点击打开链接