`
opportunity
  • 浏览: 12453 次
  • 性别: Icon_minigender_2
  • 来自: 火星
社区版块
存档分类
最新评论

spring事务配置是在业务逻辑层还是dao层?

 
阅读更多
spring事务配置是在业务逻辑层还是dao层?

业务逻辑层和dao层都可以配置事务处理,如果一个service调用多个dao,它们如果是一个事务,那么事务应该配置业务逻辑层,否则配置在dao层就可以了。

配置到dao层

<bean id="customerDaoProxy"
   class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
   <property name="transactionManager">
    <ref bean="transactionManager" />
   </property>
   <property name="target">
    <ref local="customerDao" />
   </property>
   <property name="transactionAttributes">
    <props>
     <prop key="add*">PROPAGATION_REQUIRED</prop>
     <prop key="create*">PROPAGATION_REQUIRED</prop>
     <prop key="update*">PROPAGATION_REQUIRED</prop>
     <prop key="delete*">PROPAGATION_REQUIRED</prop>
     <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
    </props>
   </property>

配置到service层

<bean id="serviceProxy"
   class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
   <property name="transactionManager">
    <ref bean="transactionManager" />
   </property>
   <property name="target">
    <ref local="customerService" />
   </property>
   <property name="transactionAttributes">
    <props>
     <prop key="add*">PROPAGATION_REQUIRED</prop>
     <prop key="create*">PROPAGATION_REQUIRED</prop>
     <prop key="update*">PROPAGATION_REQUIRED</prop>
     <prop key="delete*">PROPAGATION_REQUIRED</prop>
     <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
    </props>
   </property>
分享到:
评论

相关推荐

    Spring配置事务在DAO层和业务逻辑层

    Spring通过AOP实现声明式事务管理。通常通过TransactionProxyFactoryBean设置Spring事务代理。

    spring事务配置的五种方式

    ### Spring事务配置的五种方式详解 #### 一、引言 在企业级应用开发中,事务处理是非常重要的一部分,特别是在涉及多个数据库操作时。Spring框架提供了强大的事务管理功能,支持编程式和声明式两种事务处理方式。...

    Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合

    2. **分层设计**:Spring框架支持分层的设计模式,这意味着不同的业务功能可以被封装在不同的层中,例如Web层负责处理用户界面,Service层处理业务逻辑,DAO层处理数据访问。这样的设计有助于保持代码的清晰度,并...

    spring配置在DAO和事务层(DOC)

    ### Spring配置在DAO和事务层知识点详解 #### 一、Spring框架中的事务管理机制 Spring 框架提供了强大的事务管理功能,支持多种事务管理方式,包括编程式事务管理和声明式事务管理。其中,声明式事务管理是通过...

    spring几种Dao支持配置

    在Spring框架中,DAO(Data Access Object)层是应用程序与数据库交互的核心部分。Spring提供了多种方式来支持DAO的配置,使得开发人员可以灵活地选择最适合项目需求的数据访问策略。以下将详细阐述Spring对DAO支持...

    spring声明式事务配置

    4. **TransactionProxyFactoryBean**:这是一种使用代理模式的声明式事务配置方法,为DAO层的方法提供事务支持。 ```xml &lt;bean id="userDao" class="org.springframework.transaction.interceptor....

    DAO与三层结构

    - 示例代码展示,如如何创建DAO接口和实现类,以及如何在业务逻辑层中使用DAO - 关于事务管理在三层结构中的处理,如何在DAO中控制事务边界 `Base_DAO.rar`可能包含的资源有: - 基础DAO接口和实现类的源代码,例如...

    spring boot服务器dao层实例化.rar_dao实例化_idea 实例ID_spring boot_spring b

    在Spring Boot应用中,DAO(Data Access Object)层是数据访问层,负责与数据库进行交互。DAO层的设计和实现对于任何应用程序来说都是至关重要的,因为它提供了数据存储和检索的抽象,使得业务逻辑与数据操作相分离...

    spring事务与数据库操作

    ### Spring事务与数据库操作 #### 一、Spring的声明式事务管理 在现代软件开发中,事务处理是非常关键的一部分,特别是在涉及多个数据操作时。Spring框架提供了强大的事务管理能力,可以方便地集成到应用程序中。...

    使用Spring实现DAO模式

    通过Spring框架实现DAO模式,不仅可以有效地分离业务逻辑和数据访问逻辑,还能借助Spring的事务管理和依赖注入等特性,大大提升代码的可维护性和扩展性。此外,结合AOP的使用,可以使代码更加清晰,减少冗余,提高...

    使用代理实现Hibernate Dao层自动事务

    Dao层是应用与数据库之间的一层抽象,它封装了对数据库的所有操作,使得业务逻辑层可以专注于业务处理,而不必关心具体的SQL语句或者数据库连接管理。在Hibernate中,Dao层通常包含了一些对Hibernate Session的操作...

    web应用dao层的开发经验小结

    在Web应用程序的开发中,DAO(Data Access Object)层是一个至关重要的部分,它负责与数据库进行交互,隔离业务逻辑和数据存储的细节。本篇文章将深入探讨DAO层的设计与实现经验,结合源码分析和实用工具,以提高...

    Struts2+hibernate+spring整合泛型DAO

    泛型DAO(Data Access Object)是一种设计模式,它的目标是通过泛型将业务对象与数据访问逻辑分离,使得DAO层能够适应多种类型的实体类。在Struts2+Hibernate+Spring的集成中,泛型DAO扮演着重要的角色,它使得DAO层...

    Spring DAO

    2. **声明式事务管理**:这种方式通过配置文件或者注解的形式来管理事务的边界,使得业务代码与事务管理逻辑完全分离,从而大大减少了代码量。 总之,Spring DAO 框架结合Spring IoC容器与AOP框架所提供的功能,...

    ifunsu封装基于springjdbc的dao层api

    DAO层是应用程序中负责与数据库进行交互的部分,通常包括各种方法,用于执行CRUD(创建、读取、更新、删除)操作。 在传统的Spring JDBC使用中,我们可能需要编写如下的代码来执行SQL查询: ```java JdbcTemplate ...

    Spring支持DAO需要的jar包

    Spring提供了一套完整的DAO支持,包括事务管理、异常处理、数据源管理等,使得开发者可以更加专注于业务逻辑,而不是底层的数据访问细节。 1. **Spring JDBC支持**:Spring通过JDBC抽象层提供了模板类JdbcTemplate...

    spring声明式事务配置方法.docx

    以下是关于Spring声明式事务配置方法的详细解释。 首先,Spring声明式事务管理主要依赖于AOP(面向切面编程)实现。通过在配置文件中定义事务的规则,Spring可以在特定的方法执行前后自动地进行事务的开启、提交、...

    org.springframework.dao.InvalidDataAccessApiUsageException

    在Service层或具体的业务逻辑方法上添加 `@Transactional` 注解来管理事务。可以通过设置 `readOnly` 属性为 `false` 来显式地声明事务不是只读的,如下所示: ```java @Service public class UserServiceImpl ...

    Spring的DAO

    Spring的DAO支持是其核心模块之一,用于简化数据访问层(DAO)的开发,通过将固定的数据访问逻辑和业务逻辑分离,提高了代码的可维护性和复用性。Spring的DAO设计模式主要体现在模板(Template)和回调(Callback)...

Global site tag (gtag.js) - Google Analytics