spring bean 的加载流程
时间: 2024-05-21 11:11:05 浏览: 97
Spring bean 的加载流程如下:
1. 读取配置文件:Spring 会读取 XML、JavaConfig 或注解配置文件,并将其解析成内部数据结构。
2. 创建容器:Spring 根据配置文件中的信息创建一个容器,用于管理 bean。
3. 实例化 Bean:Spring 从容器中读取配置信息,根据配置信息实例化类对象。
4. 设置 Bean 属性:Spring 设置 Bean 的属性,包括基本数据类型和对象类型。
5. 调用 Bean 的初始化方法:如果 Bean 实现了 InitializingBean 接口或定义了 init-method 方法,Spring 将会调用它们进行初始化。
6. Bean 可用:Bean 初始化完成后,它就可以被应用程序使用了。
7. Bean 的销毁:如果 Bean 实现了 DisposableBean 接口或定义了 destroy-method 方法,Spring 在容器关闭时会调用它们进行销毁。
总的来说,Spring bean 的加载流程就是读取配置文件,创建容器,实例化 Bean,设置属性,调用初始化方法,Bean 可用,Bean 销毁。
相关问题
Spring加载Bean流程
Spring加载Bean的流程如下:
1. Spring启动,创建一个ApplicationContext容器。
2. ApplicationContext读取配置文件,解析其中的Bean定义,将Bean的定义信息存储在BeanFactory中。
3. ApplicationContext根据Bean定义信息创建Bean实例,并将其放入BeanFactory中。
4. 如果有依赖关系,ApplicationContext会解析依赖关系,并将依赖的Bean实例注入到需要它们的Bean中。
5. 如果有AOP(面向切面编程)的配置,ApplicationContext会解析AOP的相关配置信息,并将其与Bean关联起来。
6. Bean实例化完成后,ApplicationContext会执行一些生命周期的回调方法,如InitializingBean接口的afterPropertiesSet()方法和自定义的初始化方法。
7. 应用程序可以通过ApplicationContext获取Bean实例,使用这些Bean实例进行业务操作。
8. 当应用程序关闭时,ApplicationContext会执行Bean的销毁方法,如DisposableBean接口的destroy()方法和自定义的销毁方法。
总之,Spring加载Bean的流程就是读取配置文件,解析Bean定义,创建Bean实例并进行依赖注入和AOP配置,执行Bean的初始化方法和销毁方法,并提供Bean实例给应用程序使用。
spring加载bean的流程
Spring加载bean的流程如下:
1. 启动Spring容器
2. 加载BeanDefinition,BeanDefinition是一个配置文件,描述了要被容器管理的Bean的信息,通常是XML或者注解配置
3. 实例化Bean,容器根据BeanDefinition中的信息,利用Java反射机制创建Bean实例
4. 设置Bean属性,容器将BeanDefinition中定义的属性值或引用注入Bean实例中
5. 调用Bean的初始化方法,Bean实例初始化完成后,容器会调用Bean的初始化方法(如init-method)
6. 注册Bean实例,容器将Bean实例注册到容器中,以供其他Bean依赖注入或其他操作使用
在以上过程中,Spring容器还提供了各种扩展点,如BeanPostProcessor、BeanFactoryPostProcessor等,可以通过这些扩展点对Bean实例进行自定义操作。
阅读全文