Spring
文章平均质量分 89
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
从代理机制到Spring AOP,这篇给你安排的明明白白的
这篇文章准备从Java的代理机制讲到Spring的AOP。1.代理模式代理模式是很常见的一种设计模式,代理一词拆开来看就是代为受理,那显然是要涉及到请求被代理的委托方,提供代理的代理方,以及想要通过代理来实际联系委托方的客户三个角色。举个生活中很常见的例子,各路的明星都会有个自己的经纪人来替自己打点各种各样的事情,这种场景下,明星本身是委托方,经纪人是代理方,明星把自己安排演出、出席见面会的时间安排权利委托给经纪人,这样当各个商家作为客户想要请明星来代言时,就只能通过经纪人来进行。这样明星本转载 2021-12-14 14:28:00 · 3032 阅读 · 0 评论 -
图解 Spring 循环依赖,写得太好了!
Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。其实笔者本人对这类框架源码题还是持一定的怀疑态度的。如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。正文通常来说,如果问Spring内部如何解决循环依赖,一定是单默认的单例Bean中,属性互相引用的场景。比如几个Bean之间的互相引用:甚至自己“循环”转载 2021-06-08 09:13:45 · 604 阅读 · 0 评论 -
面试官:给我说一下 Spring MVC 拦截器的原理?
前言SpringMVC是目前主流的Web MVC框架之一。拦截器是每个Web框架必备的功能,也是个老生常谈的主题了。本文将分析SpringMVC的拦截器功能是如何设计的,让读者了解该功能设计的原理。重要接口及类介绍1. HandlerExecutionChain类由HandlerMethod和Interceptor集合组成的类,会被HandlerMapping接口的getHandler方法获取。2. HandlerInterceptor接口SpringMVC拦截器基础转载 2020-10-26 17:13:09 · 3235 阅读 · 0 评论 -
Spring 天天用,bean 懒加载原理你懂吗?
来源:小小木的博客www.cnblogs.com/wyc1994666/p/10569091.html普通的bean的初始化是在容器启动初始化阶段执行的,而被lazy-init修饰的bean 则是在从容器里第一次进行context.getBean(“”)时进行触发。Spring 启动的时候会把所有bean信息(包括XML和注解)解析转化成Spring能够识别的BeanDefinition并存到Hashmap里供下面的初始化时用。接下来对每个BeanDefinition进行处理,如果是懒加.转载 2020-08-25 19:15:15 · 533 阅读 · 0 评论 -
要不来重新认识Spring事务?三歪又学到了
从唯一性说起写了十几年代码,直到现在,我见过非常多的处理唯一性约束的方法都是放在代码里,而非数据库里。直到现在我也一直很困惑,这些人为什么不使用数据库的唯一索引呢?不过我并不想知道这个答案。他们的做法很简单,假如要保证name是唯一的,先使用Java代码执行一个查询语句:select*fromexamplewherename=?然后根据返回值来判断,如果是null则表明没有这个name,接着执行插入语句即可:insertintoexample(name)va...转载 2020-08-24 10:25:37 · 224 阅读 · 0 评论 -
Spring 自定义注解玩法大全,从入门到…
在业务开发过程中我们会遇到形形色色的注解,但是框架自有的注解并不是总能满足复杂的业务需求,我们可以自定义注解来满足我们的需求。根据注解使用的位置,文章将分成字段注解、方法、类注解来介绍自定义注解。字段注解字段注解一般是用于校验字段是否满足要求,hibernate-validate依赖就提供了很多校验注解 ,如@NotNull、@Range等,但是这些注解并不是能够满足所有业务场景的。比如我们希望传入的参数在指定的String集合中,那么已有的注解就不能满足需求了,需要自己实现。自定义注解转载 2020-08-20 17:17:34 · 417 阅读 · 0 评论 -
你知道Spring是怎么解析配置类的吗?
Spring执行流程图如下:Spring执行流程图这个流程图会随着我们的学习不断的变得越来越详细,也会越来越复杂,希望在这个过程中我们都能朝着精通Spring的目标不断前进!在上篇文章我们学习了Spring中的第一行代码,我们已经知道了Spring中的第一行代码其实就是创建了一个AnnotatedBeanDefinitionReader对象,这个对象的主要作用就是注册bd(BeanDefinition)到容器中。并且在创建这个对象的过程中,Spring还为容器注册了开天辟地的几个bd,包括转载 2020-08-15 14:09:16 · 293 阅读 · 0 评论 -
天天用 Spring,bean 实例化原理你懂吗?
来源:小小木的博客www.cnblogs.com/wyc1994666/p/10650480.html本次主要想写spring bean的实例化相关的内容。创建spring bean 实例是spring bean 生命周期的第一阶段。bean 的生命周期主要有如下几个步骤: 创建bean的实例 给实例化出来的bean填充属性 初始化bean 通过IOC容器使用bean 容器关闭时销毁bean 在实例化bean之前在BeanDefinition.转载 2020-08-15 11:12:39 · 206 阅读 · 0 评论 -
Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现
前言本专题大纲如下:事务专题大纲「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用中的问题,这两天想了想还是单独写一篇并作为事务专题的收尾篇,也是我Spring源码专题的收尾篇。本文大纲如下:Spring事务应用大纲在看这篇文章,以及下篇源码分析的文章我希望你对Spring AOP以及有充分的了解,不然一些细节问题你可能看不明白,关于Spring AOP如果你能看完这三篇文章基本上就没什么问题了Spring官网阅读(十八转载 2020-08-13 19:40:10 · 248 阅读 · 0 评论 -
Spring 常犯的十大错误,打死都不要犯!
1. 错误一:太过关注底层我们正在解决这个常见错误,是因为 “非我所创” 综合症在软件开发领域很是常见。症状包括经常重写一些常见的代码,很多开发人员都有这种症状。虽然理解特定库的内部结构及其实现,在很大程度上是好的并且很有必要的(也可以是一个很好的学习过程),但作为软件工程师,不断地处理相同的底层实现细节对个人的开发生涯是有害的。像 Spring 这种抽象框架的存在是有原因的,它将你从重复地手工劳作中解放出来,并允许你专注于更高层次的细节 —— 领域对象和业务逻辑。因此,接受抽象。下次面对特转载 2020-08-12 09:29:47 · 218 阅读 · 0 评论 -
Spring Validation 最佳实践及其实现原理,参数校验没那么简单!
之前也写过一篇关于Spring Validation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation。本文会详细介绍Spring Validation各种场景下的最佳实践及其实现原理,死磕到底!“项目源码:https://github.com/chentianming11/spring-validation简单使用Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validat转载 2020-08-11 21:22:37 · 417 阅读 · 0 评论 -
Spring 的 Controller 是单例还是多例?怎么保证并发的安全
答案controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。我们下面来简单的验证下:packagecom.riemann.springbootdemo.controller;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Controller;importorg.springframework....转载 2020-08-11 15:46:52 · 187 阅读 · 0 评论 -
面试官:你能告诉我一个请求过来,Spring MVC 是如何找到正确的 Controller 的?
前言SpringMVC是目前主流的Web MVC框架之一。我们使用浏览器通过地址 http://ip:port/contextPath/path进行访问,SpringMVC是如何得知用户到底是访问哪个Controller中的方法,这期间到底发生了什么。本文将分析SpringMVC是如何处理请求与Controller之间的映射关系的,让读者知道这个过程中到底发生了什么事情。源码分析在分析源码之前,我们先了解一下几个东西。1.这个过程中重要的接口和类。HandlerMethod类:转载 2020-08-06 10:17:50 · 346 阅读 · 0 评论 -
Spring中AOP相关的API及源码解析,原来AOP是这样子的
前言之所以写这么一篇文章主要是因为下篇文章将结束Spring启动整个流程的分析,从解析配置到创建对象再到属性注入最后再将创建好的对象初始化成为一个真正意义上的Bean。因为下篇文章会涉及到AOP,所以提前单独将AOP的相关API及源码做一次解读,这样可以降低阅读源码的障碍,话不多说,我们进入正文!一个使用API创建代理的例子在进入API分析前,我们先通过两个例子体会下如何使用API的方式来创建一个代理对象,对应示例如下: 定义通知 publicclassDmzAfterRetur..转载 2020-07-27 10:01:53 · 224 阅读 · 0 评论 -
两难!到底用 Spring BeanUtils 还是 Apache BeanUtils?
前言在我们实际项目开发过程中,我们经常需要将不同的两个对象实例进行属性复制,从而基于源对象的属性信息进行后续操作,而不改变源对象的属性信息,比如DTO数据传输对象和数据对象DO,我们需要将DO对象进行属性复制到DTO,但是对象格式又不一样,所以我们需要编写映射代码将对象中的属性值从一种类型转换成另一种类型。这种转换最原始的方式就是手动编写大量的get/set代码,当然这是我们开发过程不愿意去做的,因为它确实显得很繁琐。为了解决这一痛点,就诞生了一些方便的类库,常用的有 apache的BeanUt..转载 2020-07-25 14:14:36 · 182 阅读 · 0 评论 -
Spring Cache 缺陷,我好像有解决方案了
Spring Cache 缺陷Spring Cache 是一个非常优秀的缓存组件。但是在使用 Spring Cache 的过程当中,小黑同学也遇到了一些痛点。比如,现在有一个需求:通过多个 userId 来批量获取用户信息。方案 1此时,我们的代码可能是这样:List<User>users=ids.stream().map(id->{returngetUserById(id);}).collect(Collectors.toList())...转载 2020-07-10 20:23:42 · 1966 阅读 · 0 评论 -
Spring官网阅读(三)自动注入
上篇文章我们已经学习了1.4小结中关于依赖注入跟方法注入的内容。这篇文章我们继续学习这结中的其他内容,顺便解决下我们上篇文章留下来的一个问题-----注入模型。前言:在看下面的内容之前,我们先要对自动注入及精确注入有一个大概的了解,所谓精确注入就是指,我们通过构造函数或者setter方法指定了我们对象之间的依赖,也就是我们上篇文章中讲到的依赖注入,然后Spring根据我们指定的依赖关系,精确的给我们完成了注入。那么自动注入是什么?我们看下面一段代码:<?xmlversion="1...转载 2020-07-09 10:34:04 · 212 阅读 · 1 评论 -
Spring官网阅读(二)(依赖注入及方法注入)
上篇文章我们学习了官网中的1.2,1.3两小节,主要是涉及了容器,以及Spring实例化对象的一些知识。这篇文章我们继续学习Spring官网,主要是针对1.4小节,主要涉及到Spring的依赖注入。虽然只有一节,但是涉及的东西确不少。话不多说,开始正文。依赖注入根据官网介绍,依赖注入主要分为两种方式 构造函数注入 Setter方法注入 官网: 我们分别对以上两种方式进行测试,官网上用的是XML的方式,我这边就采用注解的方式了:测试代码如下,我们通过在Service.转载 2020-07-09 10:10:58 · 199 阅读 · 0 评论 -
Spring官网阅读(一)容器及实例化
从今天开始,我们一起过一遍Spring的官网,为Spring源码的学习打好基础。在这个过程中,不会涉及过多底层的代码,更多是通过例子证明我们在官网得出的结论,希望自己可以坚持下来,给自己加个油!!!本文主要涉及到官网中的1.2,1.3节。Spring容器容器是什么?我们先看官网中的一句话:Theorg.springframework.context.ApplicationContextinterface represents the Spring IoC container a...转载 2020-07-09 09:36:09 · 308 阅读 · 1 评论 -
Spring 是解析配置类过程详解
Spring执行流程图如下:Spring执行流程图这个流程图会随着我们的学习不断的变得越来越详细,也会越来越复杂,希望在这个过程中我们都能朝着精通Spring的目标不断前进!在上篇文章我们学习了Spring中的第一行代码,我们已经知道了Spring中的第一行代码其实就是创建了一个AnnotatedBeanDefinitionReader对象,这个对象的主要作用就是注册bd(BeanDefinition)到容器中。并且在创建这个对象的过程中,Spring还为容器注册了开天辟地的几个bd,包括Con转载 2020-07-08 21:52:39 · 504 阅读 · 0 评论 -
Spring杂谈 | 什么是ObjectFactory?什么是ObjectProvider?
在Spring的学习过程中,总是学的越多,不懂的越多。本来只是想将ApplicationContext的相关内容全部梳理一遍,结果发现涉及的东西越来越多,比如上篇文章中的ResolvableType,到这篇文章介绍的ObjectFactory跟ObjectProvider。不过想想也没办法,一步一步往前走呗,在这个过程中也确实学到了很多东西。废话不多说,直接进入正文。”ObjectFactory接口定义//一个对象工厂publicinterfaceObjectFactory<...转载 2020-07-07 09:05:44 · 680 阅读 · 0 评论 -
Spring @Async注解
1.@Async@Async源码@Async的value属性可以指定执行线程池,当其被标注在类或者方法上,用于实现方法的异步执行,当被标注在类上,表明类中的所有方法都被指定的异步执行器执行。2.实现原理为了更基础的分析异步调用背后的实现原理,这里选择使用xml配置文件的方式。使用xml配置文件方式时,一般会配置如下元素:<task:annotation-driven executor="myExecutor" exception-handler="exceptionHandler"/转载 2020-07-07 08:58:19 · 1075 阅读 · 0 评论 -
听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译
之所以写这么一篇文章是因为群里的小伙伴在编译源码时碰到了问题,再加上笔者自身正准备做一个源码的注释版本,恰好也需要重新编译一份代码,至于为什么要将源码编译到本地就不用多说了吧?比如,你可以任意的添加注释,一边读源码一边记笔记,甚至你可以修改源码,更好的调试程序等等。但是如果你坚持通过导入依赖或者引入jar包的方式来学习源码,我觉得也可以,没有最好的,只有最适合自己的!本文的主要目的是帮助那些在源码学习之初就被源码编译劝退的同学重拾信心!”话不多说,我们开始正题参考官方文档:http转载 2020-07-06 10:29:44 · 228 阅读 · 0 评论 -
再见面试官:你能说说 Spring 框架中 Bean 的生命周期吗?
首先简单说一下(以下为一个回答的参考模板)1、实例化一个Bean--也就是我们常说的new;2、按照Spring上下文对实例化的Bean进行配置--也就是IOC注入;3、如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(String)方法,此处传递的就是Spring配置文件中Bean的id值4、如果这个Bean已经实现了BeanFactoryAware接口,会调用它实现的setBeanFactory(setBeanFactory(BeanFact转载 2020-07-05 23:12:46 · 297 阅读 · 1 评论 -
可能是第二好的 Spring OAuth 2.0 文章,艿艿端午在家写了 3 天~
“本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-68-spring-security-oauth 目录。原创不易,给点个 Star 嘿,一起冲鸭!1. 概述在《芋道 Spring Boot 安全框架 Spring Security 入门》文章中,艿艿分享了如何使用 Spring Security 实现认证与授权的功能,获得广大女粉丝的好评。于是乎,艿艿准备再来分享一波 Spring Security OAut转载 2020-07-01 11:02:31 · 520 阅读 · 0 评论 -
Spring MVC 接收请求参数所有方式总结!
来源:简书,作者:zhrowable链接:https://www.jianshu.com/p/5f6abd08ee08SpringMVC请求参数接收其实一般的表单或者JSON数据的请求都是相对简单的,一些复杂的处理主要包括URL路径参数、文件上传、数组或者列表类型数据等。另外,关于参数类型中存在日期类型属性(例如java.util.Date、java.sql.Date、java.time.LocalDate、java.time.LocalDateTime),解析的时候一般需要自定义实现的逻.转载 2020-06-15 17:56:58 · 1021 阅读 · 0 评论 -
Spring 和 Spring Boot 最核心的 3 大区别,详解!
概述对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了SpringBoot很久的同学来说,还不是很理解SpringBoot到底和Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!什么是Spring作为Java开发人员,大家都Spring都不陌生,简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的转载 2020-06-12 20:45:49 · 251 阅读 · 0 评论 -
怒肝8个月源码,我成为了 Spring 开源贡献者
本文的主要目的是教(zhuang)学(bi)就是从笔者的实际经验出发,谈一谈怎么成为一个开源项目的贡献者。我先说说我自己的经历吧,在创作上篇文章的时候,笔者发现Spring在实例化对象的时候有这么一段代码,在org.springframework.beans.factory.support.ConstructorResolver#resolveConstructorArguments方法中//本文不探讨技术细节,只是为了简单说明这个问题,所以省略无关代码privateintr...转载 2020-06-06 16:27:00 · 304 阅读 · 1 评论 -
太难了~面试官让我结合案例讲讲自己对Spring事务传播行为的理解!
摘要: 原创出处 sf.gg/a/1190000013341344 「handaqiang」欢迎转载,保留摘要,谢谢! 前言 基础概念 1. 什么是事务传播行为? 2. Spring 中七种事务传播行为 代码验证 1.PROPAGATION_REQUIRED 2.PROPAGATION_REQUIRES_NEW 3.PROPAGATION_NESTED 4. REQUIRED,REQUIR.转载 2020-06-04 19:59:32 · 258 阅读 · 0 评论 -
Spring 和 Spring Boot 之间到底有啥区别?
概述对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了SpringBoot很久的同学来说,还不是很理解SpringBoot到底和Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!什么是Spring作为Java开发人员,大家都Spring都不陌生,简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的转载 2020-06-03 13:33:15 · 231 阅读 · 0 评论 -
一看就懂,图解 Spring 循环依赖,写得老好了!
Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。其实笔者本人对这类框架源码题还是持一定的怀疑态度的。如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。正文通常来说,如果问Spring内部如何解决循环依赖,一定是单默认的单例Bean中,属性互相引用的场景。比如几个Bean之间的互相引用:甚至自己“循环”转载 2020-05-26 14:48:27 · 317 阅读 · 0 评论 -
艿艿连肝了几个周末,写了一篇贼长的 Spring 响应式 Web 框架 WebFlux!市面第二完整~
本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-27 目录。原创不易,给点个 Star 嘿,一起冲鸭!1. 概述友情提示:Reactive Programming ,翻译为反应式编程,又称为响应式编程。本文,我们统一使用响应式。不过,比较正确的叫法还是反应式。Spring Framework5在 2017 年 9 月份,发布了 GA 通用版本。既然是一个新的大版本,必然带来了非常多的改进,其中比较重要的...转载 2020-05-25 17:40:15 · 779 阅读 · 0 评论 -
Spring IOC 知识点总结,写得太好了!
广义的 IOC在这之前,我们先记住一句话。好莱坞原则:Don’t call me, we will call you.即“不用打电话过来,我们会打给你”。控制反转(Inversion of Control,简称 IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称 DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对.转载 2020-05-22 18:59:32 · 683 阅读 · 0 评论 -
Spring 异步调用,一行代码实现!舒服,不接受任何反驳~
本文在提供完整代码示例,可见https://github.com/YunaiV/SpringBoot-Labs的lab-29目录。原创不易,给点个Star嘿,一起冲鸭!1. 概述在日常开发中,我们的逻辑都是同步调用,顺序执行。在一些场景下,我们会希望异步调用,将和主线程关联度低的逻辑异步调用,以实现让主线程更快的执行完成,提升性能。例如说:记录用户访问日志到数据库,记录管理员操作日志到数据库中。异步调用,对应的是同步调用。 同步调用:指程序按照 定义顺序 依次执行,每...转载 2020-05-21 09:03:04 · 535 阅读 · 0 评论 -
抛开 Spring 去理解 IOC 思想:原来 IOC 容器这么简单
很多小伙伴们看到标题可能就会想到抛开 Spring 就不会存在 IOC 思想了,其实不然在接下来的文章中就会讲述到。 很多小伙伴在理解 IOC 的时候通常会和 Spring 放到一起去学习,首先呢 Spring 设计的非常之巧妙而且里面包含了很多除去 IOC 的其他功能。这样会导致我们在 Spring 的基础去理解 IOC 就变得很困难。很难抓住其核心思想。 所以本文的标题的含义就是单纯的去理解 IOC 思想,然后通过自定义的 IOC 去加深对 IOC 的理解。 看完本文之后再去理解 Spring 中转载 2020-05-20 09:41:05 · 548 阅读 · 0 评论 -
图解Spring循环依赖,看过之后再也不怕面试被问到了!
前言Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。其实笔者本人对这类框架源码题还是持一定的怀疑态度的。如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。正文通常来说,如果问Spring内部如何...转载 2020-05-08 11:03:22 · 749 阅读 · 0 评论 -
Spring框架你敢写精通,面试官就敢问@Autowired注解的实现原理
面试官:Spring框架中的@Autowired注解可以标注在哪些地方?小小白:@Autowired注解可以被标注在构造函数、属性、setter方法或配置方法上,用于实现依赖自动注入。面试官:有没有研究过@Autowired注解的实现原理?小小白:看过它的实现源码。面试官:那你说一下@Autowired注解的工作原理?小小白:@Autowired注解的作用是由Autowired...转载 2020-05-05 09:06:08 · 1323 阅读 · 2 评论 -
再深一点:面试工作两不误,源码级理解Spring事务
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。Spring有5种隔离级别,7种传播行为。这是面试常问的内容,也是代码中经常碰到的知识点。这些知识枯燥而且乏味,其中有些非常的绕。如果栽在这上面,就实在是太可惜了。xjjdog在一些事务的基础上,再探讨几个容易淡忘的概念,从源码层面找原因,加深我们的理解,问题大概包括:Spring的事务和数据库的...转载 2020-04-30 13:52:19 · 804 阅读 · 0 评论 -
简单好用!利用Spring AOP技术10分钟实现一个数据库读写分离方案
前言最近我们的APP在线用户越来越多,接口的响应速度也是越来越慢,经过运维排查发现是由于并发查询太多导致的数据库压力比较大,架构师经过调研给出了数据库读写分离的解决方案,为了快速解决问题,我们最终采用AOP技术实现了数据库读写分离方案。目录什么是数据库读写分离以及为什么要读写分离? 数据库读写分离实现方式及优缺点分析 用AOP实现的数据库读写分离方案 总结什么是数据库读写分离以...转载 2020-04-30 13:34:29 · 933 阅读 · 1 评论 -
Spring事务传播行为详解
前言Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。本文...转载 2020-04-19 22:28:00 · 210 阅读 · 0 评论