Spring1.x声明式事务
来源:互联网 发布:怎样用web运行js文件 编辑:程序博客网 时间:2024/05/21 01:31
声明式事务spring1.x方式
防止出现此异常:org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
在文件开头部分要加入:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
1. 创建sessionFactory
<!--- 创建sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
2.配置事务管理器
<!--- 2.配置事务管理器 -->
<bean id="myHibTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
3.声明式事务代理模板
<!--- 3.声明式事务代理模板 -->
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myHibTransactionManager" />
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="do*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myHibTransactionManager" />
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="do*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
4.那些类的哪些方法参与事务
<!--- Dao -->
<bean id="userBizTarget" class="com.zsw.biz.impl.TUserBizImpl">
<property name="userDao" ref="userDao" />
</bean>
<!--- Biz -->
<bean id="userDao" class="com.zsw.dao.impl.TUserDAOImpl" >
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--- 4.那些类的哪些方法参与事务 -->
<bean id="userBiz" parent="txProxyTemplate">
<property name="target" ref="userBizTarget" />
</bean>
<bean id="userBizTarget" class="com.zsw.biz.impl.TUserBizImpl">
<property name="userDao" ref="userDao" />
</bean>
<!--- Biz -->
<bean id="userDao" class="com.zsw.dao.impl.TUserDAOImpl" >
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--- 4.那些类的哪些方法参与事务 -->
<bean id="userBiz" parent="txProxyTemplate">
<property name="target" ref="userBizTarget" />
</bean>
完整文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--- 创建sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<!--- 3.声明式事务代理模板 -->
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myHibTransactionManager" />
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="do*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<!--- Dao -->
<bean id="userBizTarget" class="com.zsw.biz.impl.TUserBizImpl">
<property name="userDao" ref="userDao" />
</bean>
<!--- Biz -->
<bean id="userDao" class="com.zsw.dao.impl.TUserDAOImpl" >
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--- 4.那些类的哪些方法参与事务 -->
<bean id="userBiz" parent="txProxyTemplate">
<property name="target" ref="userBizTarget" />
</bean>
</beans>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--- 创建sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<!--- 3.声明式事务代理模板 -->
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myHibTransactionManager" />
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="do*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<!--- Dao -->
<bean id="userBizTarget" class="com.zsw.biz.impl.TUserBizImpl">
<property name="userDao" ref="userDao" />
</bean>
<!--- Biz -->
<bean id="userDao" class="com.zsw.dao.impl.TUserDAOImpl" >
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--- 4.那些类的哪些方法参与事务 -->
<bean id="userBiz" parent="txProxyTemplate">
<property name="target" ref="userBizTarget" />
</bean>
</beans>
- Spring1.x声明式事务
- spring1.x spring2的声明式事务配置
- spring1.x与spring2声明式事务管理的配置
- Spring1.x使用TransactionProxyFactoryBean创建事务代理
- spring 2.x 声明式事务
- spring1.5x单元测试
- Spring3.x_Struts2.x_Hibernate3.x整合之声明式事务配置
- Spring1.x Aop配置方式
- spring声明式事务
- 声明式事务 @Transaction
- Spring---声明式事务
- 采用声明式事务
- Spring声明式事务
- Spring声明式事务
- 声明式事务2.0
- spring 声明式事务
- 声明式事务 spring
- 声明式事务
- 【开源】司马编译器 Smart Compiler
- APT的其他组件
- 关于逸珑笔记本问题汇总
- apt-get
- 使用JavaScript的XMLHttpRequest发送请求
- Spring1.x声明式事务
- Spring声明式事务2.0方式
- Spring2.0与Struts的集成
- Java Socket编程
- MFC APPWizard的原理与MFC程序框架的剖析
- 如何成为一个优秀的程序员
- Little endian and big endian大端小端
- Rational Rose 2003安装说明
- Apache OpenJPA 2.0 第二次迭代完成