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ì)話(huà)范圍
- global-session:作用于集群環(huán)境的會(huì)話(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)文章
Java編程通過(guò)匹配合并數(shù)據(jù)實(shí)例解析(數(shù)據(jù)預(yù)處理)
這篇文章主要介紹了Java編程通過(guò)匹配合并數(shù)據(jù)實(shí)例解析(數(shù)據(jù)預(yù)處理),分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
springboot使用Mybatis(xml和注解)過(guò)程全解析
這篇文章主要介紹了springboot使用Mybatis(xml和注解)過(guò)程全解析 ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
解決JSONField、JsonProperty不生效的問(wèn)題
這篇文章主要介紹了解決JSONField、JsonProperty不生效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06
JAVA如何自動(dòng)下載SSL證書(shū)并導(dǎo)入到本地
這篇文章主要介紹了JAVA如何自動(dòng)下載SSL證書(shū)并導(dǎo)入到本地問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
SpringBoot集成ElasticSearch實(shí)現(xiàn)搜索功能
本文主要介紹了Spring Boot 集成ElasticSearch實(shí)現(xiàn)搜索功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
Java的項(xiàng)目構(gòu)建工具M(jìn)aven的配置和使用教程
Maven是Java世界中的項(xiàng)目管理和構(gòu)建自動(dòng)化工具,基于POM項(xiàng)目對(duì)象模型的思想,下面我們就具體來(lái)看一下具體的Java的項(xiàng)目構(gòu)建工具M(jìn)aven的配置和使用教程:2016-05-05
Java實(shí)現(xiàn)的日期處理類(lèi)完整實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)的日期處理類(lèi),結(jié)合完整實(shí)例形式分析了Java針對(duì)日期的獲取、運(yùn)算、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
SpringBoot應(yīng)用內(nèi)存占用分析與優(yōu)化指南
本文詳細(xì)分析了SpringBoot應(yīng)用內(nèi)存占用過(guò)高的原因,主要包括JVM堆內(nèi)存、元空間、線(xiàn)程棧內(nèi)存和直接內(nèi)存等,通過(guò)優(yōu)化Tomcat線(xiàn)程池配置、調(diào)整JVM參數(shù),并結(jié)合監(jiān)控機(jī)制,可以有效降低應(yīng)用內(nèi)存占用,提高性能和穩(wěn)定性,需要的朋友可以參考下2026-03-03
springmvc 分頁(yè)查詢(xún)的簡(jiǎn)單實(shí)現(xiàn)示例代碼
我們?cè)陂_(kāi)發(fā)項(xiàng)目中很多項(xiàng)目都用到列表分頁(yè)功能,本篇介紹了springmvc 分頁(yè)查詢(xún)的簡(jiǎn)單實(shí)現(xiàn)示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01

