我的编程空间,编程开发者的网络收藏夹
学习永远不晚

spring事务如何配置

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

spring事务如何配置

这篇文章给大家分享的是有关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事务如何配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

spring事务如何配置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

spring事务如何配置

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

详解Spring MVC事务配置

要了解事务配置的所有方法,请看一下《Spring事务配置的5种方法》本文介绍两种配置方法: 一、XML,使用tx标签配置拦截器实现事务二、Annotation方式以下所使用环境为Spring4.0.3、Hibernate4.3.5 一、 X
2023-05-31

spring事务配置方法(DefaultAdvisorAutoProxyCreator)

这种配置方式与BeanNameAutoProxyCreator自动创建代理的方式非常相似,都是使用bean后处理器为目标bean创建实物代理,区别是前者使用事务拦截器创建代理,后者需要使用Advisor创建事务代理。事实上,采用Defaul
2023-06-03

如何配置Spring定时任务

今天就跟大家聊聊有关如何配置Spring定时任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步,要知道Spring这个架构,很有趣很有意思。可以做到自由插拔功能模块的效果。工程
2023-05-31

Spring 中的事务管理如何使用注解实现配置

Spring 中的事务管理如何使用注解实现配置?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用步骤:步骤一、在spring配置文件中引入命名空间
2023-05-31

Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置

小编给大家分享一下Spring Boot + Mybatis + Spring MVC环境配置中DataSource如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解
2023-06-02

如何配置Spring中的定时任务

如何配置Spring中的定时任务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。依赖以下两个包:
2023-05-31

Spring Cloud中如何配置Config

本篇文章给大家分享的是有关Spring Cloud中如何配置Config,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置
2023-06-19

如何配置Spring Boot 的属性

如何配置Spring Boot 的属性?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代
2023-05-31

使用Spring Aop如何配置xml

本篇文章给大家分享的是有关使用Spring Aop如何配置xml,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今
2023-05-31

mybatis如何开启spring事务

这篇文章将为大家详细讲解有关mybatis如何开启spring事务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、事务Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring
2023-05-30

使用Spring MVC4 如何配置注解

使用Spring MVC4 如何配置注解?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在传统的Spring项目中,我们要写一堆的XML文件。而这些XML文件格式
2023-05-31

Spring事务Transaction配置的五种注入方式详解

前段时间对spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。总结如下:Spring配置文件中关于事务
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录