精通 Spring 源码
Spring 源码分析
星尘Pro
每个人心中都有一团火,而路过的人只看到了烟。
展开
-
精通 Spring 源码 | Spring 中的各种 Aware
一、简介 Spring 提供了一种接口 —— Aware,这也是 Spring 中的扩展点,Aware 字面意思是感知到的,它能感知到什么呢?他的实现有 BeanFactoryAware,BeanNameAware,ApplicationContextAware, ImportAware 等等。这些接口能让我们动态地获取 Bean 的名字,工厂,还有这个容器的上下文,也就是他所能感知到的。最原始的...原创 2020-04-28 02:09:44 · 571 阅读 · 0 评论 -
精通 Spring 源码 | BeanFactory & FactoryBean
一、简介 BeanFactory 和 FactoryBean 有什么区别?这也是很多公司的面试题,他们到底有什么区别,我们即将去探讨。 二、分析 1、BeanFactory BeanFactory 是 Spring 中提供的一个工厂,能够产生对象,我们可以使用 getBean() 得到对象。 @ComponentScan("com.javahly.spring48") @Configuration...原创 2020-04-17 17:16:58 · 318 阅读 · 0 评论 -
精通 Spring 源码 | ImportSelector
一、简介 ImportSelector 是Spring的扩展点之一,这个扩展点有什么用呢,如果说在 SpringBoot 中,我们熟悉的 @EnableXXX 就是通过这个扩展点来实现的,下面我们来进行分析和实现。 下面是他的源码,在 Spring 中是一个接口,具体有什么用呢 public interface ImportSelector { /** * Select and retur...原创 2020-04-16 18:12:28 · 336 阅读 · 0 评论 -
精通 Spring 源码 | InstantiationAwareBeanPostProcessor(1)
一、简介 InstantiationAwareBeanPostProcessor 是 Spring 的一个扩展点,他是 BeanPostProcessor 的子类,扩展了 BeanPostProcessor ,而外提供了 3 个方法: 1、Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName)...原创 2020-04-14 18:45:49 · 285 阅读 · 0 评论 -
精通 Spring 源码 | InstantiationAwareBeanPostProcessor(2)
一、简介 InstantiationAwareBeanPostProcessor 是 Spring 的一个扩展点,他是 BeanPostProcessor 的子类,扩展了 BeanPostProcessor ,而外提供了 3 个方法: 1、Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName)...原创 2020-04-13 20:27:56 · 309 阅读 · 0 评论 -
精通Spring源码 | BeanFactoryPostProcessor
BeanFactoryPostProcessor 是 Spring 中 Bean 工厂的后置处理器,她在 Spring 加载了 Bean 的定义文件后,在 Bean 实例化之前执行。所以,当我们实现了这个接口,就可以修改整个 Bean 工厂的 Bean 的一些属性,比如,修改 Bean 的作用域,设置 despendsOn,设置是否懒加载等等。 @ComponentScan("com.javahl...原创 2020-03-30 17:28:11 · 274 阅读 · 0 评论 -
精通Spring 源码 (三) | Bean 的诞生及生命周期
一、前言 上一篇我们结束了 Bean 的注册与扫描,本篇我们将走进 Bean 的实例化和初始化。 二、源码分析 我们首先开一张思维导图,Bean 的实例化和初始化主要在 finishBeanFactoryInitialization(beanFactory); 这个方法里面完成。 我们可以随着思维导图一步一步跟进,调用 getBean,doGetBean,在 doGetBean 里面会两次调用 ...原创 2019-08-20 21:39:34 · 281 阅读 · 0 评论 -
精通 Spring 源码 (二) | 揭秘 Bean 的前世今生
一、前言 接下来,我们对 Bean 的扫描与注册进行探究,一个 Java 类是如何变成一个 Bean 的呢,它中间走过了怎样的历程,这就是我们本章所要讨论的问题。 二、源码分析 在进行分析前,各位胖友可以先看一下思维导图,该思维导图详细记录了源码的每一步流程,并且每一步都有详细的注释,在在线地址可以看到注释,如下: 点击浏览 Spring 源码思维导图 本次我们将对 refresh 方法进行分析,...原创 2019-08-20 21:39:25 · 404 阅读 · 0 评论 -
精通 Spring 源码 (一) | 剑指 Spring 源码
一、前言 当下,各大框架层出不穷,当我们还没有学完一个框架时,又会有新的框架出现,作为一名合格程序员,我们不应该满足于看着文档搬运API,而应该深入其源码,探究他的底层原理。在这个过程,虽然会很艰难,但你能收获到的不仅是知识,还有更为重要的开发思想,甚至会打破你的三观。 学习源码并不能让你的能力得到立竿见影般的提高,但学习要踏实,学习是需要长期积累的,我们学习应该本着一颗学习某一件事务的思想及其本...原创 2019-08-20 21:39:07 · 1028 阅读 · 0 评论