1.導入相關的包(百度一下就好)並添加註解配置
<bean name="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
上面sessionFactory爲你配置的jdbc連接池的那個bean
比如:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
.......
</bean>
2.在你要添加事務的類或者方法上添加@Transactional就好了
特別提示:
如果在一個類中,一個方法調用另外一個註解了事務的方法,是不管用的;
如public class AAA{
@Transactional
public void A(){}
public void B(){ A() }
}此時B方法調用的A方法事務會不起作用,因爲spring裏事務實現是一種代理實現的(具體百度一下,這裏解決問題就好了),同一個方法裏用的是同一個代理,不會開啓新代理所以不會開啓新事物。要解決的話把用到事務的代碼寫到另外一個類裏面封裝成一個方法,添加註解事務再調用就解決了。