spring事务提理解决事务提交问题有三种方法,这边是提供的是三种方法中的最佳方法:
1)、在dao类中加入事务标注
import org.springframework.transaction.annotation.Transactional;
2)、在applicationContext.xml配置文件中改变成如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
[color=red]xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"[/color]
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
[color=red]http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd[/color]">
[color=red]<tx:annotation-driven transaction-manager="transactionManager"
proxy-target-class="true"/>[/color]
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean
">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="StudentDAO" class="dao.StudentDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
[color=red]<!-- 声明一个 Hibernate 3 的事务管理器供代理类自动管理事务用 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionMan
ager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>[/color]
</beans>
其中红色部分是需要加入
通过这两个步骤就可以实现spring的事务代理解决事务提交问题
1)、在dao类中加入事务标注
import org.springframework.transaction.annotation.Transactional;
2)、在applicationContext.xml配置文件中改变成如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
[color=red]xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"[/color]
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
[color=red]http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd[/color]">
[color=red]<tx:annotation-driven transaction-manager="transactionManager"
proxy-target-class="true"/>[/color]
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean
">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="StudentDAO" class="dao.StudentDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
[color=red]<!-- 声明一个 Hibernate 3 的事务管理器供代理类自动管理事务用 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionMan
ager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>[/color]
</beans>
其中红色部分是需要加入
通过这两个步骤就可以实现spring的事务代理解决事务提交问题