Spring源码高频面试题及详细答案(实战向).docxVIP

  • 1
  • 0
  • 约5.43千字
  • 约 7页
  • 2026-08-25 发布于河北
  • 举报

Spring源码高频面试题及详细答案(实战向).docx

Spring源码高频面试题及详细答案(实战向)

一、Spring核心容器基础源码问题

1.简单说一下SpringIoC容器的初始化完整流程?

SpringIoC容器初始化核心可以分为三大步骤,也是源码执行的主干流程,面试中不用罗列细碎方法,讲清主干即可:

第一,资源加载与解析。容器启动后,会读取XML配置、注解配置或者JavaConfig配置,将配置文件封装成Resource资源对象,再通过解析器解析成BeanDefinition对象。这一步不会创建Bean实例,只是把Bean的类路径、属性、依赖、作用域等元信息读取并缓存。

第二,BeanDefinition注册。解析完成后,会把所有BeanDefinition注册到BeanDefinitionRegistry注册表中,本质就是一个ConcurrentHashMap,key是bean名称,value是BeanDefinition对象。此时容器中只有Bean的定义信息,没有实例对象。

第三,Bean实例化与初始化。容器刷新完成后,会遍历所有已注册的BeanDefinition,针对单例、非懒加载的Bean,执行实例化、属性填充、初始化方法执行、后置处理器增强等流程,最终将完整的Bean实例存入单例池。

简单总结:加载配置→解析元信息→注册Bean定义→刷新容器→实例化初始化Bean。

2.BeanFactory和Appli

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档