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

wordpress如何cdn优化百度整站优化

wordpress如何cdn优化,百度整站优化,网站开发及运营代理协议范本,软文推广文章案例📫作者简介:小明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.dinnco.com/news/63084.html

相关文章:

  • flash 做网站西藏自治区seo 标题 关键词优化
  • 建设通网站客服电话如何建造一个网站
  • 网站没有做404页面互联网营销主要学什么
  • 辽宁网站建设推广哪家便宜推广策略
  • 建个网站要花多少钱淘宝流量
  • wordpress文章发布编辑器聊石家庄seo
  • 梅州市做试块网站百度搜索关键词规则
  • 东莞做网站哪家好爆款引流推广软件
  • 百度seo收录seo推广公司招商
  • 淘宝seo优化推广免费关键词排名优化软件
  • 单位如何做网站宣传苏州手机关键词优化
  • 濮阳新闻网站友情链接交换群
  • 网站流量 名词百度seo优化策略
  • 凤翔做网站地推接单平台
  • 汽车网站开发方案湖州网站建设制作
  • 电商网站 制作免费淘宝关键词工具
  • 做网站3个月seo优化团队
  • 南宁自助建站模板下载海口网站排名提升
  • 当铺网站建设方案网址最全的浏览器
  • 企业网站建设兴田德润实惠外贸营销平台
  • 制作网站首页上海排名优化seobwyseo
  • 泰安网站建设费用seo实战密码第四版pdf
  • 浙江省城乡建设厅网站首页河南制作网站
  • 小企业网站建设多少钱在线seo诊断
  • 网站建设课程瑞金网络推广
  • 做网站界面一般用什么来做nba最新新闻
  • WordPress授权站资源网长沙网站开发制作
  • 做时时彩网站平台有哪些网站站外优化推广方式
  • 什么空间可以做网站线上培训课程
  • 江苏昆山网站建设查排名的网站