跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

Spring 系列,第 2 部分: 当 Hibernate 遇上 Spring

Hibernate 事务天生适合 Spring AOP

返回文章

在打印这一页时,请选择 landscape 布局选项。


清单 2. 将应用程序 DAO 和 TransactionManager 编写在一起
<!-- Pass the session factory to our CustomerDAO -->
 <bean id="customerDAOTarget" 
     class="springexample.hibernate.CustomerDAOImpl">
   <property name="sessionFactory"><ref local="exampleSessionFactory"/>
   </property>
 </bean>
  <bean id="transactionManager" 
   class="org.springframework.orm.hibernate.HibernateTransactionManager">
   <property name="sessionFactory">
     <ref bean="exampleSessionFactory"/>
   </property>
  </bean>
  <bean id="userDAO"
   class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
   <property name="transactionManager"><ref local="transactionManager"/>
   </property>
   <property name="target"><ref local="customerDAOTarget"/>
   </property>
   <property name="transactionAttributes">
     <props>
       <prop key="addCustomer">PROPAGATION_REQUIRED</prop>
     </props>
  </property>
 </bean>

返回文章