Spring 框架的启动过程涉及各种模块的初始化、依赖注入、AOP 配置等,以下是 Spring 容器启动的一般过程。
- 加载配置文件。首先读取配置文件(如 XML 配置文件、Java Config 类等)。
- 实例化容器。根据配置文件中的信息创建容器 ApplicationContext,在容器启动阶段实例化 BeanFactory,并加载容器中的 BeanDefinitions。
- 解析 BeanDefinitions。Spring 容器会解析配置文件中的 BeanDefinitions。
- 创建 Bean。包括 实例化、依赖注入、初始化。Bean 的生命周期
- AOP 代理。根据配置注册 AOP 切面,生成代理对象,将切面织入到目标对象中。
- 发布事件。在启动过程中发布一些事件,如容器启动事件。
- 完成启动。