一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.Initializer 上一节我们介绍了Runner,它是在项目加载完成之后执行的 有后就有前,有没有在项目加载之前执行的呢? 我们今天介绍的ApplicationContextInitializer就是在spring的bean加载之前执行的 public interface…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.列表 springboot源码解析-管中窥豹系列之总体结构(一) springboot源码解析-管中窥豹系列之项目类型(二) springboot源码解析-管中窥豹系列之Runner(三) springboot源码解析-管中窥豹系列之Initializer(四) spring…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.beanDefinition如何加载 我们之前介绍了beanDefinition的结构: springboot源码解析-管中窥豹系列之BeanDefinition(八) 我们之前也介绍了BeanPostProcessor和BeanFactoryPostProcessor 我们…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.BeanPostProcessor BeanPostProcessor和BeanFactoryPostProcessor比,少了一个factory BeanPostProcessor作用的是bean, BeanFactoryPostProcessor作用的beanfacotr…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.bean如何生成? 我们之前介绍了beanDefinition的结构: springboot源码解析-管中窥豹系列之BeanDefinition(八) 我们之前也介绍了BeanPostProcessor和BeanFactoryPostProcessor 我们也介绍了自动装配,…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.web服务器 以前的的spring项目或者springmvc项目都需要一个web服务器,tomcat,或者其它的 使用springboot之后,我们不再需要配置web服务器,因为springboot帮我们集成了 今天我们来分析一下源码,看看在哪里实现的,知其然知其所以然 三.…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.BeanDefinition spring帮我们管理bean,就是通过BeanDefinition实现的,要深研源码,就绕不开BeanDefinition 我们通过源码来看看BeanDefinition到底做了什么 三.源码分析 我们先看看这个类:BeanDefinition…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.何为自动装配? 我们想用redis,直接引入spring-boot-starter-data-redis的依赖,配置加上就能用. 我们想用mongodb, 直接引入mongodb的依赖 我们想用缓存,直接引入cache的依赖 我们在:springboot源码解析-管中窥豹系列…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.EnableXXX 我们上一节讲了自动装配,用到了@SpringBootApplication里面的@EnableAutoConfiguration springboot还封装了其它的EnableXXX注解 比如我们想开启定时任务,要加上注解:@EnableSchedulin…
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列. 二.BeanFactoryPostProcessor BeanFactoryPostProcessor是在bean初始化之前对bean的统一操作 package org.springframework.beans.factory.config; import org.spring…