`

TransactionProxyFactoryBean用继承简化配置

阅读更多

Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:

 

最常用的一种:

 

PROPAGATION_REQUIRED

如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

 

 

TransactionProxyFactoryBean用继承简化配置

 

 <!-- 定义事务管理器- 数据源的事务管理对象-->

 

<bean id="transactionManagerFbth"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource">
      <ref local="dataSource.FBCM" />
    </property>
  </bean>

 

    <!-- 配置事务模板,模板bean被设置成abstract bean,保证不会被初始化-->

  <bean id="baseProxy"
        abstract="true"
        class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">

 

          <!-- 为事务模板注入事务管理器-->
  

    <property name="transactionManager">
      <ref bean="transactionManagerFbth" />
    </property>

 

       <!-- 设置事务属性-->

    <property name="transactionAttributes">
      <props>
        <prop key="save*">PROPAGATION_REQUIRED,-Throwable</prop>
        <prop key="remove*">PROPAGATION_REQUIRED,-Throwable</prop>
        <prop key="merge">PROPAGATION_REQUIRED,-Throwable</prop>
        <prop key="update">PROPAGATION_REQUIRED,-Throwable</prop>
        <prop key="do*">PROPAGATION_REQUIRED,-Throwable</prop>
      </props>
    </property>
  </bean>

 

 <!-- 实际的事务代理bean-->

 

<bean id="testServer"
        parent="baseProxy">
    <property name="target">

 

         <!-- 采用嵌套bean配置目标bean -->

      <bean class="com.nstc.fbth.server.impl.TestServerImpl"
            parent="baseServer" />
    </property>
  </bean>

 

分享到:
评论

相关推荐

    SSH框架配置

    - 方案二:使用`TransactionInterceptor`和`BeanNameAutoProxyCreator`简化配置,适用于大多数情况。 #### 四、总结 SSH框架的配置涉及多个步骤,包括创建项目、添加框架支持、配置视图与业务逻辑、以及整合框架...

    Spring事务配置的五种方式

    这种方式简化了配置,但需要开启基于注解的事务处理。 4. **编程式事务管理** 编程式事务管理允许在代码中显式地开始、提交、回滚事务。这种方式通常在需要更细粒度控制事务时使用。例如,可以使用...

    spring1.2的配置-jdbc

    ### Spring 1.2 的 JDBC 配置详解 在 Spring 框架 1.2 版本中,...通过上述详细的配置,Spring 1.2 能够有效地管理数据库连接、事务处理以及业务逻辑层的操作,极大地简化了开发工作并提高了代码的可维护性和扩展性。

    spring框架配置bean的高级属性

    这里配置了一个名为`dataSource`的数据源Bean,使用的是C3P0连接池实现。具体配置项包括: - `driverClass`: 数据库驱动类名。 - `jdbcUrl`: 连接数据库的URL。 - `user`和`password`: 数据库用户名和密码。 - `max...

    spring 事务配置的五种方法

    **适用场景:** 当系统中有大量的服务层 Bean 需要统一管理事务时,这种方式可以简化配置。 ##### 3. 拦截器 **概念介绍:** 使用 AOP(面向切面编程)的思想,通过定义一个事务管理拦截器来拦截特定的方法调用,...

    spring事务

    1. **基于XML的声明式事务**:通过在XML配置文件中使用`&lt;tx:advice&gt;`和`&lt;tx:method&gt;`元素来定义事务切面和事务属性,适用于需要显式控制事务边界的情况。 2. **基于注解的声明式事务**:通过在服务层的方法上添加`@...

    企业级信息系统开发教学PPT(3.1)

    Spring增强了开发能力,提供对DAO层的支持,如通过继承HibernateDaoSupport并使用getHibernateTemplate()方法。Service层通过依赖注入实现解耦,而Action类则结合Spring和Struts2的配置文件,实现业务逻辑和视图的...

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

    Spring的ORM支持使得开发者可以选择Hibernate、JDO或iBATIS SQL Maps,无论使用哪种技术,都可以通过JavaBean的形式重用Spring的大部分ORM支持,简化配置和部署。 Hibernate作为一个强大的ORM框架,它支持面向对象...

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

    4.4.7 简化配置方式 4.4.8 自动装配 4.5 方法注入 4.5.1 lookup方法注入 4.5.2 方法替换 4.6 之间的关系 4.6.1 继承 4.6.2 依赖 4.6.3 引用 4.7 整合多个配置文件 4.8 Bean作用域 4.8.1 singleton作用域 4.8.2 ...

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

    4.4.7 简化配置方式 4.4.8 自动装配 4.5 方法注入 4.5.1 lookup方法注入 4.5.2 方法替换 4.6 之间的关系 4.6.1 继承 4.6.2 依赖 4.6.3 引用 4.7 整合多个配置文件 4.8 Bean作用域 4.8.1 singleton作用域 4.8.2 ...

    springMvc经典面试题

    声明式事务主要通过TransactionProxyFactoryBean来实现,它能够在运行时动态地为目标对象生成一个代理,将事务相关的操作封装在代理中,从而简化事务管理代码。 Spring MVC 还支持与SSH(Struts2、Spring、...

    spring面试题集

    例如,使用TransactionProxyFactoryBean可以创建一个具有事务管理能力的代理类,支持PROPAGATION_REQUIRED等事务传播行为,使得事务管理更加便捷。 总的来说,Spring面试题集涵盖了Spring框架的关键概念和技术,...

    面试知识点总结--spring面试题大全.pdf

    例如,使用TransactionProxyFactoryBean,可以配置PROPAGATION_REQUIRED等事务传播行为,Spring会自动处理事务的提交和回滚。 总的来说,Spring框架通过其强大的功能和设计理念,极大地简化了Java后端开发,提高了...

    spring面试题大全

    使用TransactionProxyFactoryBean可以创建事务代理,实现事务的自动提交和回滚。 总之,Spring作为一款强大的框架,提供了DI、IOC、事务管理等多种功能,极大地简化了企业级应用的开发工作。理解并掌握这些核心概念...

    spring面试题

    - **DAO 继承 HibernateDaoSupport**:DAO 类继承自 HibernateDaoSupport,并使用 HibernateTemplate 进行数据库操作。 - **OpenSessionInView**:解决长时间请求导致的事务问题,可通过添加 ...

    java web 面试

    1. **Action类设计**:Struts1要求继承抽象基类,而Struts2通过实现接口或使用POJO作为Action,提供了更多的灵活性。 2. **线程模型**:Struts1的Action是单例,需保证线程安全;Struts2为每个请求创建一个新的...

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

Global site tag (gtag.js) - Google Analytics