Spring的启动过程

1)加载配置文件

Spring 启动时会加载应用程序的配置文件,通常是 applicationContext.xml 或者通过 Java Config 配置类。这些配置文件包含了 Spring Bean 的定义、依赖关系、AOP 设置、事务管理器等信息。

2)创建并初始化 Spring 容器

一旦配置文件加载完成,Spring 将会创建并初始化一个 Spring 容器(ApplicationContext)。Spring 容器负责管理应用程序中的所有 Bean,以及它们之间的依赖关系。容器的初始化包括实例化 Bean、注入依赖、应用 AOP 等。

3)扫描组件

Spring 容器会扫描配置文件中指定的包,查找带有特定注解的组件类,如 @Component@Service@Repository@Controller。一旦找到这些组件类,Spring 将会实例化它们并将它们纳入容器管理。

4)实例化 Bean

Spring 容器会根据配置文件中的定义,实例化所有的 Bean。这些 Bean 可能是普通的 POJO 类、数据访问对象(DAO)、服务类等。

5)注入依赖

在实例化 Bean 的过程中,Spring 容器会解析 Bean 之间的依赖关系,并将依赖的 Bean 注入到需要它们的 Bean 中。这个过程可以通过构造函数注入、Setter 方法注入或者字段注入来完成。

6)应用 AOP

如果应用程序中使用了 AOP(面向切面编程),Spring 将会应用切面逻辑,为 Bean 动态生成代理,并将切面逻辑织入到相应的 Bean 中。这个过程包括创建代理对象、将切面逻辑织入到代理对象中等。

7)触发生命周期回调

Spring 容器会在 Bean 实例化、依赖注入完成以及其他初始化工作完成后,触发相应 Bean 的生命周期回调方法,如 InitializingBean 接口的 afterPropertiesSet() 方法、@PostConstruct 注解标注的方法等。

8)完成启动

一旦所有的 Bean 实例化、依赖注入和初始化工作完成,Spring 容器就会完成启动过程,应用程序就可以开始处理请求和响应了。

相关推荐

  1. Spring启动过程

    2024-07-16 08:20:05       24 阅读
  2. Spring Boot启动过程深入了解

    2024-07-16 08:20:05       25 阅读
  3. Spring 启动过程

    2024-07-16 08:20:05       44 阅读
  4. Spring 容器初始化过程

    2024-07-16 08:20:05       47 阅读
  5. spring 创建bean过程

    2024-07-16 08:20:05       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 08:20:05       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 08:20:05       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 08:20:05       62 阅读
  4. Python语言-面向对象

    2024-07-16 08:20:05       72 阅读

热门阅读

  1. 并发编程-锁的分类

    2024-07-16 08:20:05       29 阅读
  2. Gmsh教程

    2024-07-16 08:20:05       31 阅读
  3. Redis是什么

    2024-07-16 08:20:05       28 阅读
  4. 机器学习——机器学习概述

    2024-07-16 08:20:05       21 阅读
  5. 深入理解 Vue.js 的生命周期:从创建到销毁

    2024-07-16 08:20:05       27 阅读
  6. 2024.7.10 day 3 比赛总结

    2024-07-16 08:20:05       21 阅读
  7. 大模型 GPT 到 GPT-3.5 知识点总结

    2024-07-16 08:20:05       23 阅读