创建Bean的整个过程
时间: 2023-10-30 07:05:00 浏览: 30
创建Bean的整个过程可以简单地分为以下三个步骤:
1. 实例化Bean对象:在Spring容器启动时,Spring会根据配置文件或注解信息创建Bean的实例对象。Spring通过Java反射机制创建Bean的实例,可以使用默认构造器,也可以使用有参构造器创建实例。
2. 设置Bean的属性:Spring会查找Bean定义中的属性,并将配置文件中或注解中指定的值设置到相应的属性中,这个过程也称为依赖注入。
3. 调用Bean的初始化方法:在Bean初始化完成后,Spring容器会自动调用Bean的初始化方法,可以通过实现InitializingBean接口或在配置文件中指定init-method属性来自定义初始化方法。
在Bean的整个生命周期中,还有后置处理器的概念。后置处理器是一个接口,Spring容器会在Bean的初始化前后分别调用实现了该接口的类的postProcessBeforeInitialization和postProcessAfterInitialization方法,可以在这两个方法中对Bean做一些自定义的处理。
相关问题
@bean创建到销毁过程
@Bean 创建到销毁过程是指 Spring 容器对一个 Bean 对象的整个生命周期的管理过程。该过程包括 Bean 实例化、Bean 属性注入、Bean 初始化以及 Bean 销毁等阶段。具体地说,在 Spring 容器启动过程中,会读取配置文件中的 @Bean 注解,并根据注解中的属性信息实例化 Bean 对象。之后,Spring 会根据注解的信息自动注入属性(如果有的话),初始化 Bean,以及在 Spring 容器关闭时销毁 Bean 对象。在整个 Bean 生命周期中,Spring 容器可以在不同的阶段触发不同的回调方法,以便开发人员可以定制化地管理 Bean 对象。
spring bean的创建
Spring Bean的创建是通过将配置的bean封装成BeanDefinition对象来完成的。当我们调用getBean()方法获取bean实例时,如果容器内不存在可用的bean实例,Spring就会开始创建bean。首先会调用invokeAwareMethods()方法来触发Bean实现的各类Aware接口,然后会进行属性填充,即依赖注入。接下来是bean的初始化,包括触发bean实现的各种Aware接口、生命周期方法和BeanPostProcessor扩展点。最后,如果bean配置了destroy-method方法,还需要将这类bean暂存到Map容器中以便在销毁时触发。整个过程是复杂的,但是流程是清晰的。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [Spring之Bean创建过程](https://blog.csdn.net/qq_32099833/article/details/128499937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]