在 SpringApplication#refresh方法中,会去调用BeanDefinitionPostProcessor去进行预处理,这里有一个很重要的 processo...
在 SpringApplication#refresh方法中,会去调用BeanDefinitionPostProcessor去进行预处理,这里有一个很重要的 processo...
入口类 在了解 Spring Boot 的启动流程的时候,我们先看一下一个Spring Boot 应用是如何启动的,如下是一个简单的 SpringBoot 程序,非常的简洁,...
这个系列将以 Spring boot 2.3.x 的版本讲解 Spring boot源码,主要涵盖整个容器的启动过程:1、首先我们先进行源码下载:Spring boot[ht...
接下来,我们将讲解 druid pool 包以外的包解析,这次我们先从 wallFilter 开始说起,我们先来写一个 wallFilter 的 example,首先我们需...
上一节我们挖了个坑,还剩下 poolUpdater 还没讲,我们这期接着讲一下这个点,我们同样也是从初始化方法开始: 这里逻辑很简单,显示检查了 intervalSecond...
我们了解完 HighAvailableDataSource 如何使用后,我们继续来了解他是如何运行了,我们先看一下他的初始化方法: 首选双重检查,防止初始化多次 HighA...
关于 HighAvailableDataSource 的介绍,我们可以看一下官方文档[https://github.com/alibaba/druid/blob/master...
我们今天来解析一下一个简单的 select SQL 在我们的系统的流转流程。我们知道,执行SQL主要的流程是:开启事务 -> 生成 PrepareStatement -> ...
我们在创建链接的时候会发现,返回给 Mybatis 的并不是一个简单的 connection 而是一个 DruidPooledConnection 这里是一个我们需要注意点...
我们回头看DataSource的接口,它里面只定义了两个方法,如下,我们今天来分析第一个也是最重要的方法 getConnection: 1.1 具体实现 我们先看一下 Dru...
回想我们上节的内容,有两个地方跳过了,一个是启动创建链接的线程,一个是启动销毁链接的线程,我们这次就来详细的探究一番这两个的用途。 创建连接线程 首先我们需要回头介绍之前没有...
1.1 SpringAutoConfig 对于一个SpringBoot Starter 我们都会从他的 spring.factories 开始看起,因为这里定义了其配置类信息...
1.背景 druid目前是国内使用最广泛的数据库连接池,了解学习其源码无疑对我们的工作有很好处,这次源码学习主要是针对 druid 的核心功能 pool 进行分析,其中会附带...
场景 最近生产上执行日批量一直停留到了某一天,但是却没有收到中断报警,后面客户反馈缺少统计数据才发现该问题。后面查看日志只发现了一个 java.lang.NullPointe...
作者: 一字马胡[https://www.jianshu.com/u/86c421886c32] 转载标志 【2017-11-03】 更新日志 日期更新内容备注2017-1...
IO基本概念 Linux的内核将所有外部设备都可以看做一个文件来操作,而对一个文件的读写都是通过内核提供的系统调用,内核给我们返回一个文件描述符file descriptor...
Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入...
基于上次介绍的Rxjava 的基础,我们今天再来聊一下 Hystrix,我们先看一下 Hystrix 整体处理流程图: Hystrix 在设计之初主要为了解决以下问题:分布...
在讲 Hystrix 插件前,我们需要先了解一下 Hystrix 的具体实现,Hystrix 限流框架基于 大名鼎鼎的 RxJava 实现,我们这节先来了解一下 RxJava...
1.8.5.1 环境准备 安装 redis:Soul 需要集群部署,所以需要将令牌集中管理,Redis 无疑是一个很好的选择。 在 soul admin 开启 ratelim...