WEB开发网
开发学院数据库DB2 使用基于持久性的框架开发 DB2 应用程序 阅读

使用基于持久性的框架开发 DB2 应用程序

 2009-11-23 00:00:00 来源:WEB开发网   
核心提示: 织入 DAO 层数据源和会话工厂设置好后,下一步是在织入 DAO(本例中为 DepartmentDAO)以便使用 SessionFactory,使用基于持久性的框架开发 DB2 应用程序(6),接下来,插入 Spring 的 TransactionProxyFactoryBean,或者 Spri

织入 DAO 层

数据源和会话工厂设置好后,下一步是在织入 DAO(本例中为 DepartmentDAO)以便使用 SessionFactory。接下来,插入 Spring 的 TransactionProxyFactoryBean,它将拦截对应用程序的 DepartmentDAOImpl 对象的方法调用,并声明式地在上面应用事务上下文。

在这个示例中,DepartmentDAOImpl 类的 addDepartment 方法作为事务的一部分执行,带有事务属性 PROPAGATION_REQUIRED。这个属性相当于 EJB 容器的 TX_REQUIRED。如果希望让方法总是在事务中运行,可以使用 PROPAGATION_REQUIRED。如果事务已运行,bean 方法会加入这个事务,或者 Spring 轻量级事务管理器会另行启动一个事务。如果想在调用组件服务时总是启动新事务,可以使用 PROPAGATION_REQUIRES_NEW 属性。


清单 3. 编织应用程序的 DAO 和 TransactionManager
<!-- Pass the session factory to our DepartmentDAO --> 
 
<bean id="departmentDAOHelper" 
class="springexample.db2persist.hibernate.DepartmentDAOHelper"> 
<property name="departmentDAO"><ref local="departmentDAOTarget"/></property> 
</bean> 
 
<bean id="departmentDAO" 
class="springexample.db2persist.hibernate.DepartmentDAOImpl"> 
<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="departmentDAOTarget" 
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> 
<property name="transactionManager"><ref local="transactionManager"/></property> 
<property name="target"><ref local="departmentDAO"/></property> 
<property name="transactionAttributes"> 
<props> 
<prop key="addDepartment">PROPAGATION_REQUIRED</prop> 
</props> 
</property> 
</bean> 

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:使用 基于 持久性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接