`
opportunity
  • 浏览: 11837 次
  • 性别: 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事务代理。

    Spring2.5和Hibernate3集成--学习spring aop ioc

    * spring的事务管理需要添加到业务逻辑上(事务边界的定义),不要回到Dao上 技术提示: 在编写经下代码时: *" propagation="REQUIRED"/&gt; *" propagation="REQUIRED"/&gt; *" propagation="REQUIRED"/&gt; *" ...

    Spring_Hibernate集成

    1、声明式事务配置 * 配置SessionFactory * 配置事务管理器 * 事务的传播特性 * 那些类那些方法使用事务 2、编写业务逻辑方法 * 继承HibernateDaoSupport类,使用HibernateTemplate来持久化,...

    struts2.4+spring3.1+hibernate4.1的SSH框架

    在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    13.3.3 设计业务逻辑层 13.3.4 设计控制层 13.4 架构设计和环境搭配 13.4.1 网上调查系统采用的架构 13.4.2 在Eclipse下建立项目mySurvey 13.4.3 编写本项目的Ant文件 13.4.4 配置本项目的web.xml文件 13.5 编写网上...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    13.3.3 设计业务逻辑层 13.3.4 设计控制层 13.4 架构设计和环境搭配 13.4.1 网上调查系统采用的架构 13.4.2 在Eclipse下建立项目mySurvey 13.4.3 编写本项目的Ant文件 13.4.4 配置本项目的web.xml文件 13.5 编写网上...

    Spring.3.x企业应用开发实战(完整版).part2

    10.5.1 Spring事务管理器的应对 10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接泄漏 10.7.1 底层连接资源...

    第24次课-1 Spring与Hibernate的整合

    Spring提供了DAO支持,可以简化DAO组件的开发,特别是IoC容器的使用,提供了DAO组件与业务逻辑组件之间的松耦合组合方式。 所有的DAO组件,都由容器负责注入到业务逻辑组件中,使用业务逻辑组件无需关心DAO组件的...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    13.3.3 设计业务逻辑层 13.3.4 设计控制层 13.4 架构设计和环境搭配 13.4.1 网上调查系统采用的架构 13.4.2 在Eclipse下建立项目mySurvey 13.4.3 编写本项目的Ant文件 13.4.4 配置本项目的web.xml文件 13.5 编写网上...

    Spring 2.0 开发参考手册

    2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. ...

    Spring3.x企业应用开发实战(完整版) part1

    10.5.1 Spring事务管理器的应对 10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接泄漏 10.7.1 底层连接资源...

    spring-framework-3.1.0.RELEASE.zip

    面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言...

    Spring3.x_Struts2.x_Hibernate3.x整合之声明式事务配置

    但是通常都会在Service中来处理多个业务逻辑的关系,如:删除,更新等,此时如果在执行了一个步骤之后抛出抛出异常就会导致数据部完整,所以事务不应该在Dao中处理,而应该在Service中处理,这也是就是Spring提供的...

    Spring中文帮助文档

    2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. 对Websphere 事务管理的完整支持 2.4.3. JPA 2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于...

    Spring API

    2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. 对Websphere 事务管理的完整支持 2.4.3. JPA 2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于...

    spring chm文档

    2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. ...

    Spring开发指南

    业务逻辑类,DAO可插拔 无侵入性的系统 不是全用全不用的系统,可以使用其中一部分,对旧有技术集成性好,提供兼容性方案,如struts 轻量级的系统 对内存,cpu资源要求不高,原有资源就可以使用,编成习惯无需大幅变化...

    Spring.html

    概念:面向切面编程,在不改变源码的情况下对方法进行增强,抽取横切关注点(日志处理,事务管理,安全检查,性能测试等等),使用AOP进行增强,使程序员只需要关注与业务逻辑编写. 专业术语 目标Target:需要增强的类 ...

Global site tag (gtag.js) - Google Analytics