- 6
- 0
- 约1.21万字
- 约 12页
- 2026-04-16 发布于河北
- 举报
Spring源码面试题及详细答案
一、核心基础(高频必问)
1.说说SpringIOC容器的核心原理?BeanFactory和ApplicationContext的区别?
答案:SpringIOC的核心是“控制反转”和“依赖注入”,本质是将对象的创建、依赖管理交给Spring容器,而非开发者手动new对象,目的是解耦、提高代码可维护性。
核心流程:加载配置(XML/注解)→解析配置生成BeanDefinition(描述Bean的元信息,比如类名、属性、依赖、作用域等)→实例化Bean(根据BeanDefinition创建对象)→依赖注入(将依赖的Bean注入到当前Bean中)→初始化Bean(执行初始化方法)→Bean就绪供使用→容器关闭时销毁Bean。
BeanFactory和ApplicationContext的核心区别(实际面试重点说3点即可,不用堆砌):
1.初始化时机:BeanFactory是“懒加载”,只有调用getBean()时才会实例化Bean;ApplicationContext是“预加载”,容器启动时就会实例化所有单例Bean(除了标注lazy-init=true的)。
2.功能范围:BeanFactory是最基础的容器,只提供Bean的创建、依赖注入核心功能;ApplicationContext继承了BeanFactory,额外提供了
原创力文档

文档评论(0)