Spring加载的过程

1. 环境准备: 在加载过程开始之前,Spring首先会进行环境准备。这包括读取配置文件、初始化配置参数等操作,然后创建应用上下文(ApplicationContext)容器。Spring支持多种配置方式,如XML配置、注解配置和Java配置等。

2. 资源定位和加载: 接下来,Spring会根据配置信息来定位需要加载的资源。这些资源可以是Java类、XML文件、属性文件等。Spring使用统一资源定位策略(Uniform Resource Locator,URL)来定位这些资源。这些资源可以位于文件系统、类路径、网络等位置。

一旦资源被定位,Spring就会使用合适的加载器来加载这些资源。加载器负责读取资源的内容,并将其转换为Spring框架可以理解的内部表示形式。例如,XML文件将被解析为Spring的Bean定义对象。

3. 资源注册: 接下来,Spring会将加载的资源解析为BeanDefinition对象。BeanDefinition是Spring中描述Bean的元数据对象,包含了Bean的类名、属性值、依赖关系等信息。 解析完成后,Spring会将BeanDefinition对象注册到BeanDefinitionRegistry中(负责管理BeanDefinition的注册和访问)。也就是说加载后的资源需要被注册到Spring的容器中。这样,Spring容器就能够管理和组织这些Bean,并在需要时进行实例化和依赖注入。

4. Bean实例化: 注册完成后,Spring会根据配置信息实例化相应的Bean对象。BeanFactory(负责管理和提供Bean对象的创建、配置和管理)根据BeanDefinition中的配置信息,使用适当的实例化策略创建Bean对象。常见的策略包括单例模式和原型模式。

5. 依赖注入: 在Bean实例化完成后,Spring会根据配置信息自动注入Bean之间的依赖关系。依赖注入是Spring框架的核心特性之一,它通过自动装配属性、构造函数或方法参数来实现。

6. 初始化和销毁: 最后,Spring会调用Bean的初始化方法进行初始化操作。初始化方法可以用于执行一些必要的设置和准备工作,例如建立数据库连接、加载资源、初始化缓存等。

当应用程序关闭时,Spring还会调用Bean的销毁方法进行清理工作。销毁方法可以是Bean类中定义的特定方法,也可以是通过配置指定的销毁回调方法。这些方法用于释放资源、关闭数据库连接、清理缓存等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值