spring Bean
时间: 2024-02-21 22:35:23 浏览: 67
在Spring中,Bean是由Spring IoC容器实例化、组装和管理的对象。Spring容器可以管理singleton作用域的Bean的生命周期,包括实例化、初始化和销毁。对于prototype作用域的Bean,Spring容器只负责创建实例,不管理其生命周期。
Bean的生命周期包括以下几个步骤:
1. 根据配置信息调用Bean构造方法或工厂方法实例化Bean。
2. 利用依赖注入完成属性注入。
3. 如果Bean实现了BeanNameAware接口,则Spring调用Bean的setBeanName()方法传入当前Bean的id值。
4. 如果Bean实现了BeanFactoryAware接口,则Spring调用Bean的setBeanFactory()方法传入当前工厂实例的引用。
5. 如果Bean实现了ApplicationContextAware接口,则Spring调用Bean的setApplicationContext()方法传入当前ApplicationContext实例的引用。
6. 如果BeanPostProcessor和Bean关联,则Spring将调用该接口的预初始化方法postProcessBeforeInitialization()对Bean进行加工操作。Spring的AOP操作就是通过它实现的。
7. 如果Bean实现了InitializingBean接口,则Spring调用Bean的afterPropertiesSet()方法。
8. 如果在配置文件中通过init-method属性指定了初始化方法,则调用该初始化方法。
9. 如果BeanPostProcessor和Bean关联,则Spring将调用该接口的预初始化方法postProcessAfterInitialization()。此时Bean已经可以被应用系统所使用。
10. 如果在<bean>中指定作用域scope="singleton",则将该Bean放入Spring IoC缓存中,同时触发对Bean的生命周期管理。若作用域为prototype,则由调用者管理该Bean的生命周期。
11. 如果Bean实现了DisposableBean接口,则Spring会在销毁时调用destroy()方法将Spring中的Bean销毁。
12. 如果在配置文件中通过destroy-method指定了销毁方法,则Spring调用该方法销毁Bean。
在Spring中,可以使用XML配置文件来注册和管理Bean之间的依赖关系。通常使用<beans>元素作为根元素,并在其中添加<bean>元素定义Bean。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Spring中的Bean](https://blog.csdn.net/weixin_44949462/article/details/118897055)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [spring bean是什么](https://blog.csdn.net/Kariswei/article/details/117085068)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文