spring生命周期函数
时间: 2023-11-06 20:08:53 浏览: 48
Spring框架中的Bean(组件)的生命周期包括以下几个阶段:
1. 实例化:当Spring容器加载配置文件时,会根据配置信息实例化相应的Bean。这一阶段包括Bean的构造函数的调用。
2. 属性填充:在实例化完成后,Spring容器会根据配置文件中的内容对Bean的属性进行赋值。这一阶段包括依赖注入和属性设置。
3. 初始化:在属性填充完成后,Spring容器会调用Bean的初始化方法(如果有)。一般情况下,我们可以通过实现InitializingBean接口或在配置文件中指定init-method来定义初始化方法。
4. 使用:初始化完成后,Bean可以被应用程序使用。
5. 销毁:当Spring容器关闭时,会调用Bean的销毁方法(如果有)。一般情况下,我们可以通过实现DisposableBean接口或在配置文件中指定destroy-method来定义销毁方法。
需要注意的是,只有单例作用域的Bean才会有销毁阶段,而原型作用域的Bean不会被Spring容器管理其生命周期。
相关问题
spring生命周期简洁
在Spring框架中,Bean的生命周期可以总结为以下几个步骤:
1. 实例化Bean:使用关键字new或者通过工厂方法创建一个Bean的实例。
2. 属性注入:通过构造函数注入或者setter方法注入Bean的属性。
3. Bean的初始化:在Bean实例化之后,Spring容器会调用Bean的初始化方法,可以通过配置文件或者注解的方式指定初始化方法。
4. Bean的使用:在初始化之后,Bean可以被应用程序使用。
5. Bean的销毁:当Bean不再被使用时,Spring容器会调用Bean的销毁方法,可以通过配置文件或者注解的方式指定销毁方法。
总结起来,Spring的Bean的生命周期可以简洁地描述为:实例化、属性注入、初始化、使用、销毁。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Springbean生命周期详解](https://blog.csdn.net/qq_64169170/article/details/123052663)[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* [一个简洁的java http框架.rar](https://download.csdn.net/download/Gefangenes/87841515)[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 ]
spring生命周期的回调函数
1. 构造函数:在对象创建时调用,用于初始化对象。
2. setXXX()方法:在对象属性值被设置时调用,用于检查参数合法性。
3. init()方法:在对象初始化完成后调用,用于执行一些初始化操作。
4. destroy()方法:在对象销毁之前调用,用于执行一些清理操作。
5. afterPropertiesSet()方法:在对象属性设置完成后调用,用于执行一些初始化操作。
6. postProcessBeforeInitialization()方法:在对象初始化前调用,用于对对象进行修改。
7. postProcessAfterInitialization()方法:在对象初始化后调用,用于对对象进行修改。
8. doFilter()方法:在过滤器处理请求时调用,用于执行过滤操作。
9. handleRequest()方法:在处理请求时调用,用于执行请求处理操作。
10. destroy()方法:在销毁过滤器时调用,用于执行一些清理操作。