返回顶部
首页 > 资讯 > 精选 >spring事务如何配置
  • 664
分享到

spring事务如何配置

2023-06-03 01:06:05 664人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关spring事务如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。采用这种配置策略,完全可以避免增量式配置,所有的事务代理由系统自动创建。容器中的目标bean自动消失,避免需要使用嵌

这篇文章给大家分享的是有关spring事务如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

采用这种配置策略,完全可以避免增量式配置,所有的事务代理由系统自动创建。容器中的目标bean自动消失,避免需要使用嵌套bean来保证目标bean不可被访问。
这种配置方式依赖于Spring提供的bean后处理器,该后处理器用于为每个bean自动创建代理,此处的代理不仅可以是事务代理,也可以是任意的代理,只需要有合适的拦截器即可。这些是aop框架的概念,笔者在此处不对AOP进行深入介绍。读者只需了解这种事务代理的配置方式即可。
下面是采用BeanNameAutoProxyCreator配置事务代理的配置文件:

Xml代码

  1. <?xmlversion="1.0"encoding="gb2312"?>  

  2. <!--    Spring配置文件的文件头,包含DTD等信息--&gt  

  3. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  

  4.      "Http://www.springframework.org/dtd/spring-beans.dtd">  

  5. <beans>  

  6.    <!--定义数据源--&gt  

  7.    <beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">  

  8.        <!--    定义数据库驱动--&gt  

  9.            <propertyname="driverClassName"><value>com.mysql.jdbc.Drivervalue>property>  

  10.        <!--    定义数据库url--&gt  

  11.            <propertyname="url"><value>jdbc:Mysql://localhost:3306/springvalue>property>  

  12. <!--    定义数据库用户名--&gt  

  13.            <propertyname="username"><value>rootvalue>property>  

  14.        <!--    定义数据库密码--&gt  

  15.            <propertyname="passWord"><value>32147value>property>  

  16.    bean>  

  17.    <!--定义一个hibernate的SessionFactory--&gt  

  18. <beanid="sessionFactory"class="org.springframework.ORM.hibernate3.LocalSessionFactoryBean">  

  19.        <!--    定义SessionFactory必须注入DataSource--&gt  

  20.            <propertyname="dataSource"><reflocal="dataSource"/>property>  

  21.            <propertyname="mappingResources">  

  22.            <list>  

  23.                <!--以下用来列出所有的PO映射文件--&gt  

  24.                <value>Person.hbm.xmlvalue>  

  25.            list>  

  26.            property>  

  27.            <propertyname="hibernateProperties">  

  28.            <props>  

  29. <!--此处用来定义hibernate的SessionFactory的属性:  

  30. 不同数据库连接,启动时选择create,update,create-drop-->  

  31.            <propkey="hibernate.dialect">org.hibernate.dialect.mysqlDialectprop>  

  32.            <propkey="hibernate.hbm2ddl.auto">updateprop>  

  33.        props>  

  34.        property>  

  35.    bean>  

  36.    <!--    定义事务管理器,使用适用于Hibernte的事务管理器--&gt  

  37. <beanid="transactionManager"  

  38.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  

  39.            <!--    HibernateTransactionManager    bean需要依赖注入一个SessionFactory bean的引用--&gt  

  40.            <propertyname="sessionFactory"><reflocal="sessionFactory"/>property>  

  41. bean>  

  42.  

  43.    <!--    配置事务拦截器--&gt  

  44. <beanid="transactionInterceptor"  

  45. class="org.springframework.transaction.interceptor.TransactionInterceptor">  

  46.        <!--    事务拦截器bean需要依赖注入一个事务管理器 --&gt  

  47.        <propertyname="transactionManager"ref="transactionManager"/>  

  48.        <propertyname="transactionAttributes">  

  49.            <!--    下面定义事务传播属性--&gt  

  50.            <props>  

  51.                <propkey="insert*">PROPAGATION_REQUIREDprop>  

  52.                <propkey="find*">PROPAGATION_REQUIRED,readOnlyprop>  

  53.                <propkey="*">PROPAGATION_REQUIREDprop>  

  54.            props>  

  55.        property>  

  56.    bean>  

  57. <!-- 定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性  

  58. 这个bean后处理器,根据事务拦截器为目标bean自动创建事务代理  

  59.     <beanclass="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  

  60.            指定对满足哪些bean name的bean自动生成业务代理 -->  

  61. <propertyname="beanNames">  

  62.            <!--    下面是所有需要自动创建事务代理的bean--&gt  

  63.            <list>  

  64.                <value>personDaovalue>  

  65.            list>  

  66.            <!--    此处可增加其他需要自动创建事务代理的bean--&gt  

  67.        property>  

  68.        <!--    下面定义BeanNameAutoProxyCreator所需的事务拦截器--&gt  

  69.        <propertyname="interceptorNames">  

  70.            <list>  

  71.                <value>transactionInterceptorvalue>  

  72.                    <!-- 此处可增加其他新的Interceptor --&gt  

  73.            list>  

  74.        property>  

  75.    bean>  

  76.    <!--定义DAO Bean ,由于BeanNameAutoProxyCreator自动生成事务代理--&gt  

  77.    <beanid="personDao"class="lee.PersonDaoHibernate">  

  78.        <propertyname="sessionFactory"><reflocal="sessionFactory"/>property>  

  79. bean>  

  80. beans>  

感谢各位的阅读!关于“spring事务如何配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: spring事务如何配置

本文链接: https://lsjlt.com/news/232190.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • spring事务如何配置
    这篇文章给大家分享的是有关spring事务如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。采用这种配置策略,完全可以避免增量式配置,所有的事务代理由系统自动创建。容器中的目标bean自动消失,避免需要使用嵌...
    99+
    2023-06-03
  • spring事务配置方法(DefaultAdvisorAutoProxyCreator)
    这种配置方式与BeanNameAutoProxyCreator自动创建代理的方式非常相似,都是使用bean后处理器为目标bean创建实物代理,区别是前者使用事务拦截器创建代理,后者需要使用Advisor创建事务代理。事实上,采用Defaul...
    99+
    2023-06-03
  • 详解Spring MVC事务配置
    要了解事务配置的所有方法,请看一下《Spring事务配置的5种方法》本文介绍两种配置方法: 一、XML,使用tx标签配置拦截器实现事务二、Annotation方式以下所使用环境为Spring4.0.3、Hibernate4.3.5...
    99+
    2023-05-31
    spring mvc 事务
  • Spring使用注解和配置文件配置事务
    本文实例为大家分享了Spring使用注解和配置文件配置事务的具体代码,供大家参考,具体内容如下 需求图: 使用注解配置事务: package com.atguigu.spring...
    99+
    2024-04-02
  • 如何配置Spring定时任务
    今天就跟大家聊聊有关如何配置Spring定时任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步,要知道Spring这个架构,很有趣很有意思。可以做到自由插拔功能模块的效果。工程...
    99+
    2023-05-31
    spring
  • Spring 中的事务管理如何使用注解实现配置
    Spring 中的事务管理如何使用注解实现配置?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用步骤:步骤一、在spring配置文件中引入<tx:>命名空间&l...
    99+
    2023-05-31
    spring 注解 事务管理
  • 详解Spring配置及事务的使用
    目录 1.事务概念什么是事务?事务的四个特性(ACID):2.事务操作(模拟事务操作环境)3.事务管理(Spring事务管理)4.事务操作(注解声明式事务管理)在 spri...
    99+
    2024-04-02
  • Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置
    小编给大家分享一下Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解...
    99+
    2023-06-02
  • Spring声明式事务配置使用详解
    目录序章准备工作创建jdbc.properties配置Spring的配置文件声明式事务概念代码讲解配置 Spring 的配置文件创建表创建组件测试无事务情况加入事务序章 Spring...
    99+
    2024-04-02
  • Spring基于注解配置事务的属性
    本文实例为大家分享了Spring基于注解配置事务的属性,供大家参考,具体内容如下 一、事务属性概述 在Spring中,事务属性描述了事务策略如何应用到方法上,事务属性包含5个方面: ...
    99+
    2024-04-02
  • 如何配置Spring中的定时任务
    如何配置Spring中的定时任务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。依赖以下两个包:<!-- 定时器依赖 开始 --> <dependen...
    99+
    2023-05-31
    spring
  • Spring Cloud中如何配置Config
    本篇文章给大家分享的是有关Spring Cloud中如何配置Config,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置...
    99+
    2023-06-19
  • Spring中propagation的7种事务配置及说明
    Spring propagation7种事务配置 1、简述 在声明式的事务处理中,要配置一个切面,其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其...
    99+
    2024-04-02
  • 如何配置Spring Boot 的属性
    如何配置Spring Boot 的属性?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代...
    99+
    2023-05-31
    springboot spring boo bo
  • 使用Spring Aop如何配置xml
    本篇文章给大家分享的是有关使用Spring Aop如何配置xml,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今...
    99+
    2023-05-31
    springaop xml
  • mybatis如何开启spring事务
    这篇文章将为大家详细讲解有关mybatis如何开启spring事务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、事务Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring...
    99+
    2023-05-30
    mybatis spring
  • Spring框架 注解配置事务控制的流程
    目录基于注解的事务控制1.配置事务管理器2.在业务层使用@Transactional 注解3.开启 spring 对注解事务的支持4.注解扫描器Spring 注解事务实现机制1.事务...
    99+
    2024-04-02
  • Spring Boot如何配置内置Tomcat的maxPostSize值
    目录Spring Boot配置内置Tomcat的maxPostSize值BackgroundProblem 1Problem 2Tomcat设置maxPostSize导致Post请求...
    99+
    2024-04-02
  • 使用Spring MVC4 如何配置注解
    使用Spring MVC4 如何配置注解?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在传统的Spring项目中,我们要写一堆的XML文件。而这些XML文件格式...
    99+
    2023-05-31
    springmvc 注解配置
  • spring基于注解配置实现事务控制操作
    目录spring注解配置实现事务控制1、导入相关依赖2、创建spring配置类3、创建JdbcConfig数据源配置类4、创建TransactionConfig事务配置类5、创建jd...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作