Spring1.x声明式事务

声明式事务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>

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>

 

完整文件如下:

< ?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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值