javascript
Spring Bean的作用域及生命周期
Bean的作用域
在bean聲明時它有一個scope屬性,它是用于描述bean的作用域。
可取值有:
singleton:單例 代表在spring ioc容器中只有一個Bean實例 (默認的scope)
prototype多例 每一次從spring容器中獲取時,都會返回一個新的實例
request 用在web開發中,將bean對象request.setAttribute()存儲到request域中
session 用在web開發中,將bean對象session.setAttribute()存儲到session域中
一般常用的值是singleton與prototype
Bean的生命周期
對于bean的生命周期方法: 第三步與第四步是讓Bean了解spring容器。
第五步與第八步 可以針對指定的Bean進行功能增強,這時一般會使用動態代理.
第六步與第十步:通過實現指定的接口來完成init與destroy操作
但是在開發中一般不使用第6步與第10步,原因是我們可以使用第7步與第11步來完成。
第7步與第11步的初始化與銷毀操作它無耦合,推薦使用的。但是必須在配置文件中指定初始化與銷毀的方法
總結:
對于bean的生命周期,我們需要關注的主要有兩個方法:
1. 增強bean的功能可以使用后處理Bean, BeanPostProcessor
2. 如果需要初始化或銷毀操作我們可以使用init-method destroy-method
注意:destroy-method只對scope=singleton有效果。
總結
以上是生活随笔為你收集整理的Spring Bean的作用域及生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Bean的获取与实例化
- 下一篇: Spring Bean的属性注入