Spring源码解析
文章平均质量分 77
全面解析Spring源码,帮助大家突破面试Spring源码环节!
闲来也无事
欢迎留言,一起交流!
展开
-
Spring源码IOC之无参实例化策略
无参实例化策略2.6 无参实例化策略2.6.1 getInstantiationStrategy 获取实例化策略2.6.2 实例化策略概览2.6.3 反射2.6.4 CGLIB2.6 无参实例化策略上文提到了IOC实例化bean的几种策略,接下来的小节,重点分析无参、有参两种实例化策略。因为无参策略较为简单,所以先分析该策略。入口代码:// 获取实例化策略,并实例化beanbeanInstance = getInstantiationStrategy().instantiate(mbd, bean原创 2021-10-06 00:10:47 · 361 阅读 · 0 评论 -
Spring源码IOC之实例化Bean的方式
2.4 doCreateBean 概览经过了前面的一系列准备,接下来进入IOC的核心方法doCreateBean。中间涉及较多的知识点,分多个小节分析,下面先来了解一下doCreateBean的主要逻辑。protected Object doCreateBean(String beanName, RootBeanDefinition mbd, @Nullable Object[] args) throws BeanCreationException { // Instantiate the bea原创 2021-09-13 23:37:50 · 4767 阅读 · 0 评论 -
Spring源码IOC之创建Bean的前置工作
文章目录2.3 创建bean的实例--前置准备工作2.3.1 getSingleton2.3.1.1 beforeSingletonCreation 前置处理2.3.1.2 afterSingletonCreation 后置处理2.3.1.3 addSingleton 缓存bean实例2.3.2 createBean2.3.1 RootBeanDefinition 简介2.3.2 prepareMethodOverrides2.3 创建bean的实例–前置准备工作Spring Bean的作用域有:p原创 2021-09-13 00:10:21 · 3116 阅读 · 0 评论 -
Spring源码之@Component 注解
文章目录2.2 从缓存中获取bean实例2.2 从缓存中获取bean实例针对单例bean,IOC会缓存bean的实例信息,在doGetBean方法中有:// 从缓存中获取bean实例Object sharedInstance = getSingleton(beanName);单例bean的实例信息被缓存在了:// 缓存bean的实例信息private final Map<String, Object> singletonObjects = new ConcurrentHa原创 2021-09-12 19:35:26 · 2860 阅读 · 0 评论 -
Spring源码之IOC
文章目录2. IOC2.1 IOC 相关概念2.2 测试样例2. IOC2.1 IOC 相关概念作用:控制反转依赖注入bean 作用域prototypesingletonrequestsessionglobal session生命周期,可以理解为在创建、使用、销毁bean的时候,需要调用的方法,依次为BeanNameAwareBeanFactoryAwareApplicationContextAwarePostConstructInitializingBea原创 2021-09-12 01:18:17 · 2685 阅读 · 0 评论 -
Spring源码阅读环境搭建
文章目录第一章 Spring知识点回顾1. 搭建Spring源码阅读环境1.1 环境1.2 源码下载1.3 更改repositories1.5 构建源码并运行测试第一章 Spring知识点回顾1. 搭建Spring源码阅读环境1.1 环境JDK1.8IDEA 2021.2Spring 最新版1.2 源码下载通过IDEA检出代码:https://github.com/spring-projects/spring-framework.git。切换分支:git checkout -b原创 2021-09-12 00:01:56 · 2792 阅读 · 0 评论