当前位置: 首页 > news >正文

资讯网站如何做聚合学生网页制作成品

资讯网站如何做聚合,学生网页制作成品,做网站建设的网站,网页制作代码html添加音乐📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于…

📫作者简介:小明java问道之路2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公司后端高级工程师。

        

📫 热衷分享,喜欢原创~ 关注我会给你带来一些不一样的认知和成长。

        

🏆 2022博客之星TOP3 | CSDN博客专家 | 后端领域优质创作者 | CSDN内容合伙人

🏆 InfoQ(极客邦)签约作者、阿里云专家 | 签约博主、51CTO专家 | TOP红人、华为云享专家

        

🔥如果此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主~ 


🍅 文末获取联系 🍅  👇🏻 精彩专栏推荐订阅收藏 👇🏻

专栏系列(点击解锁)

学习路线(点击解锁)

知识定位

🔥Redis从入门到精通与实战🔥

Redis从入门到精通与实战

围绕原理源码讲解Redis面试知识点与实战

🔥MySQL从入门到精通🔥

MySQL从入门到精通

全面讲解MySQL知识与企业级MySQL实战

🔥计算机底层原理🔥

深入理解计算机系统CSAPP

以深入理解计算机系统为基石,构件计算机体系和计算机思维

Linux内核源码解析

围绕Linux内核讲解计算机底层原理与并发

🔥数据结构与企业题库精讲🔥

数据结构与企业题库精讲

结合工作经验深入浅出,适合各层次,笔试面试算法题精讲

🔥互联网架构分析与实战🔥

企业系统架构分析实践与落地

行业最前沿视角,专注于技术架构升级路线、架构实践

互联网企业防资损实践

互联网金融公司的防资损方法论、代码与实践

🔥Java全栈白宝书🔥

精通Java8与函数式编程

本专栏以实战为基础,逐步深入Java8以及未来的编程模式

深入理解JVM

详细介绍内存区域、字节码、方法底层,类加载和GC等知识

深入理解高并发编程

深入Liunx内核、汇编、C++全方位理解并发编程

Spring源码分析

Spring核心七IOC/AOP等源码分析

MyBatis源码分析

MyBatis核心源码分析

Java核心技术

只讲Java核心技术

本文目录

本文导读

一、什么是Spring 事务?

二、Spring 的事务隔离级别?

三、Spring事务分类

四、Spring 事务原理

1、@Transactional 工作机制

2、Spring 事务原理详解

五、Spring 的事务传播机制

总结


本文导读

本文主要解读什么是Spring事务?Spring事务隔离级别?Spring编程式事务TransactionTemplate以及@Transactional原理,最后讲解Spring常考题事务传播机制。

一、什么是Spring 事务?

Spring 事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,Spring 是无法提供事务功能的。

Spring 只提供统一事务管理接口,具体实现都是由各数据库自己实现,数据库事务的提交和回滚是通过数据库自己的事务机制实现。

二、Spring 的事务隔离级别?

Spring的接口TransactionDefinition中定义了表示隔离级别的常量,当然其实主要还是对应数据库的事务隔离级别:

isolation_default:使用后端数据库默认的隔离界别,mysql 默认可重复读

isolation_read_uncommitted:读未提交

isolation_read_committed:读已提交

isolation_repeatable_read:可重复读

isolation_serializable:串行化

三、Spring事务分类

编程式事务:编程式事务管理使用 TransactionTemplate,需要显式执行事务。

声明式事务:声明式事务管理建立在 AOP 之上的。其本质是通过 AOP 功能,对方法前后进行拦截,将事务处理的功能编织到拦截的方法中,也就是在目标方法开始之前启动一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。优点是不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明或通过 @Transactional 注解的方式,便可以将事务规则应用到业务逻辑中,减少业务代码的污染。唯一不足地方是,最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。

四、Spring 事务原理

1、@Transactional 工作机制

Transactional 的工作机制是基于 AOP 实现的。如果一个类或者一个类中的 public 方法上被标注@Transactional 注解的话,Spring 容器就会在启动的时候为其创建一个代理类。

在调用被@Transactional 注解的 public 方法的时候,实际调用的是,TransactionInterceptor 类中的 invoke()方法。这个方法的作用就是在目标方法之前开启事务,方法执行过程中如果遇到异常的时候回滚事务,方法调用完成之后提交事务。

2、Spring 事务原理详解

在Bean初始化阶段创建代理对象:Spring容器在初始化每个单例bean的时候,会遍历容器中的所有BeanPostProcessor实现类,并执行其postProcessAfterInitialization方法,在执行AbstractAutoProxyCreator类的postProcessAfterInitialization方法时会遍历容器中所有的切面,查找与当前实例化bean匹配的切面,这里会获取事务属性切面,查找@Transactional注解及其属性值,然后根据得到的切面创建一个代理对象,默认是使用JDK动态代理创建代理,如果目标类是接口,则使用JDK动态代理,否则使用Cglib。

在执行目标方法时进行事务增强操作:当通过代理对象调用Bean方法的时候,会触发对应的AOP增强拦截器,声明式事务是一种环绕增强,对应接口为MethodInterceptor,事务增强对该接口的实现为TransactionInterceptor。

事务拦截器TransactionInterceptor在invoke方法中,通过调用父类 TransactionAspectSupport 的invokeWithinTransaction方法进行事务处理,包括开启事务、事务提交、异常回滚。

五、Spring 的事务传播机制

public enum Propagation {    REQUIRED      //required:需要事务,如果事务不存在,则创建一个新事务    REQUIRES_NEW  //required_new:需要创建一个新事务,如果已存在事务,则把当前事务挂起  NESTED        //nested:嵌套事务SUPPORTS      //supports:支持事务,如果没有事务,则以非事务的方式运行    NOT_SUPPORTED //not_supported:不支持事务,以非事务的方式运行,如果存在事务,则挂起    NEVER         //never:不支持事务,如果存在事务,则抛出异常    MANDATORY     //mandatory:支持事务,如果没有事务,则抛出异常 
}

required:@Transactional注解默认使用就是这个事务传播行为。如果外部方法没有开启事务的话,Propagation.required修饰的内部方法会新开启自己的事务,且开启的事务相互独立,互不干扰。如果外部方法开启事务并且被Propagation.required的话,所有Propagation.REQUIRED修饰的内部方法和外部方法均属于同一事务 ,只要一个方法回滚,整个事务均回滚。

requires_new:创建一个新的事务,不管外部方法是否开启事务,Propagation.requires_new修饰的内部方法会新开启自己的事务,且开启的事务相互独立,互不干扰。

nested:嵌套事务,子事务执行完,不会立即提交,而是等待外层事务完成后一起提交。

supports:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。

not_supported:以非事务方式运行,如果当前存在事务,则把当前事务挂起。

never:以非事务方式运行,如果当前存在事务,则抛出异常。

mandatory:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。(mandatory:强制性)

总结

本文主要解读什么是Spring事务?Spring事务隔离级别?Spring编程式事务TransactionTemplate以及@Transactional原理,最后讲解Spring常考题事务传播机制。

http://www.khdw.cn/news/19241.html

相关文章:

  • wordpress 取消响应式金华关键词优化平台
  • 西安网站群建设小程序seo推广技巧
  • 服务器做的网站怎么使用教程优化seo软件
  • 渭南哪家公司可以做网站网站推广优化方式
  • 嘉定网站设计制作公司推广获客
  • 做网站用什么技术好网上电商怎么做
  • 用net做新闻网站免费外链工具
  • 什么是网站建设流程seo排名关键词
  • 产品内页设计昆明网站seo服务
  • wordpress有哪些网站网站推广seo是什么
  • 织梦如何做视频网站网站交换链接友情链接的作用
  • 商务网站规划与建设seo外推
  • 网站如何进行优化重庆疫情最新消息
  • 怎么把做网站发给别人蚌埠网络推广
  • 哪个网站可以做奖状设计案例网
  • wordpress2014seo推广专员工作内容
  • 做动效网站如何拥有自己的网站
  • 网站建设服务是什么意思网页
  • 网站做弹幕广告优化大师是什么软件
  • 政府网站建设 信科网络四川seo排名
  • 即墨网站优化正规的微信推广平台
  • 高端汽车网站建设山东济南最新消息
  • 免费使用wordpress基本seo技术在线咨询
  • wap浏览器手机版苏州关键词优化怎样
  • 自己的网站做优化怎么设置缓存关键词排名优化系统
  • 自己做购物网站怎么做pc端网页设计公司
  • 粉末涂料做网站有用吗qq群推广平台
  • 网站推广费用价格青岛网络推广公司排名
  • 网站信息抽查评估 短信网站排名快速提升
  • wordpress折腾怕了重庆seo服务