Spring中bean對(duì)象的裝配方式、作用域及生命周期詳解
Spring中bean對(duì)象的裝配方式、作用域及生命周期詳解
1. bean對(duì)象裝配的三種方式
(就是在配置文件中寫(xiě)一個(gè)bean標(biāo)簽)
①內(nèi)部new一個(gè)實(shí)現(xiàn)類(lèi),調(diào)用默認(rèn)構(gòu)造器
<bean id="userService" class="com.diao.service.UserServiceImpl"></bean>
②通過(guò)靜態(tài)工廠方法
<!--在靜態(tài)方法中返回一個(gè)實(shí)例對(duì)象,通過(guò)調(diào)用工廠類(lèi)的靜態(tài)方法獲取實(shí)例對(duì)象--> <bean id="userService" class="com.diao.service.UserServiceFactory" factory-method="返回對(duì)象的靜態(tài)方法"></bean>
③實(shí)例工廠方法(非靜態(tài)方法,需要對(duì)象調(diào)用)
<!--通過(guò)創(chuàng)建工廠類(lèi)的實(shí)例對(duì)象,然后調(diào)用對(duì)象的方法去返回一個(gè)對(duì)象--> <bean id="factory" class="com.diao.service.UserServiceFactory"></bean> <bean id="userService" factory-bean="factory" factory-method="返回對(duì)象的方法"></bean>
2.bean對(duì)象的作用域
常用的有:
- singleton:?jiǎn)卫?biāo)簽中不指定默認(rèn)是單例的)
- prototype:多例
- request:作用于web應(yīng)用的請(qǐng)求范圍
- session:作用于web應(yīng)用的會(huì)話范圍
- global-session:作用于集群環(huán)境的會(huì)話范圍,不是集群環(huán)境時(shí),就是session
<bean id="userService" class="com.diao.service.UserServiceImpl" scope="prototype"></bean>
3.bean對(duì)象的生命周期
單例: 出生:當(dāng)容器創(chuàng)建時(shí)對(duì)象出生 活著:只要容器還在,對(duì)象一直或者 死亡:容器銷(xiāo)毀,對(duì)象消亡
多例: 出生:當(dāng)使用對(duì)象時(shí)spring框架進(jìn)行創(chuàng)建 活著:對(duì)象只要是在使用過(guò)程中就一直活著 死亡:當(dāng)對(duì)象長(zhǎng)時(shí)間不用且沒(méi)有別的對(duì)象引用時(shí),由Java的垃圾回收器進(jìn)行回收
到此這篇關(guān)于Spring中bean對(duì)象的裝配方式、作用域及生命周期詳解的文章就介紹到這了,更多相關(guān)bean對(duì)象的裝配方式、作用域及生命周期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Spring的FactoryBean<Object>接口示例代碼
- Spring中Bean的創(chuàng)建流程詳細(xì)解讀
- 解決springboot中自定義JavaBean返回的json對(duì)象屬性名稱(chēng)大寫(xiě)變小寫(xiě)問(wèn)題
- SpringBoot動(dòng)態(tài)定時(shí)任務(wù)、動(dòng)態(tài)Bean、動(dòng)態(tài)路由詳解
- springboot開(kāi)啟Bean數(shù)據(jù)校驗(yàn)功能
- Spring中存取Bean的相關(guān)注解舉例詳解
- Spring?@Bean?修飾方法時(shí)注入?yún)?shù)的操作方法
- Spring框架中Bean的三種配置和實(shí)例化方法總結(jié)
- Spring控制bean加載順序使用詳解
相關(guān)文章
一起來(lái)學(xué)習(xí)Java IO的轉(zhuǎn)化流
這篇文章主要為大家詳細(xì)介紹了Java IO的轉(zhuǎn)化流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03springboot 中 thymeleaf 常用的語(yǔ)法完整實(shí)例
在 Spring Boot 項(xiàng)目中,Thymeleaf 是一個(gè)常用的模板引擎,它提供了豐富的語(yǔ)法來(lái)動(dòng)態(tài)渲染 HTML 頁(yè)面,下面給大家介紹springboot 中 thymeleaf 常用的語(yǔ)法完整實(shí)例,感興趣的朋友一起看看吧2024-03-03SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例
在Web應(yīng)用中,文件下載功能是一個(gè)常見(jiàn)的需求,本文介紹了SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下,2023-09-09redis實(shí)現(xiàn)多進(jìn)程數(shù)據(jù)同步工具代碼分享
這篇文章主要介紹了使用redis實(shí)現(xiàn)多進(jìn)程數(shù)據(jù)同步工具的代碼,大家參考使用吧2014-01-01JXLS根據(jù)模板導(dǎo)出Excel實(shí)例教程
這篇文章主要為大家詳細(xì)介紹了JXLS根據(jù)模板導(dǎo)出Excel實(shí)例教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Mybatis 插入一條或批量插入 返回帶有自增長(zhǎng)主鍵記錄的實(shí)例
下面小編就為大家分享一篇Mybatis 插入一條或批量插入 返回帶有自增長(zhǎng)主鍵記錄的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Java基礎(chǔ)知識(shí)精通數(shù)組的內(nèi)存分析
數(shù)組對(duì)于每一門(mén)編程語(yǔ)言來(lái)說(shuō)都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語(yǔ)言對(duì)數(shù)組的實(shí)現(xiàn)及處理也不盡相同。Java?語(yǔ)言中提供的數(shù)組是用來(lái)存儲(chǔ)固定大小的同類(lèi)型元素2022-04-04JAVA中使用FTPClient實(shí)現(xiàn)文件上傳下載實(shí)例代碼
本文給大家介紹如何利用jakarta commons中的FTPClient(在commons-net包中)實(shí)現(xiàn)上傳下載文件。非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-06-06