欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

教你Spring如何使用三級(jí)緩存解決循環(huán)依賴

 更新時(shí)間:2022年03月07日 15:30:11   作者:java_wxid  
這篇文章主要介紹了Spring使用三級(jí)緩存解決循環(huán)依賴的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一級(jí)緩存存放實(shí)例化對(duì)象 。二級(jí)緩存存放已經(jīng)在內(nèi)存空間創(chuàng)建好但是還沒(méi)有給屬性賦值的對(duì)象。三級(jí)緩存存放對(duì)象工廠,用來(lái)創(chuàng)建提前暴露到bean的對(duì)象。

@Service
public class TestService1 {
 
    @Autowired
    private TestService2 testService2;
    public void test1() {
    }
}
@Service
public class TestService2 {
    @Autowired
    private TestService1 testService1;
    public void test2() {
    }
}

testService1先去一級(jí)緩存看有沒(méi)有實(shí)例,發(fā)現(xiàn)沒(méi)有,繼續(xù)去二級(jí)緩存查看,發(fā)現(xiàn)沒(méi)有,去三級(jí)緩存查看,發(fā)現(xiàn)沒(méi)有實(shí)例就創(chuàng)建實(shí)例,在創(chuàng)建的過(guò)程中,提前暴露,添加到三級(jí)緩存里。

這個(gè)時(shí)候進(jìn)行屬性賦值,發(fā)現(xiàn)還有一個(gè)testService2,它沒(méi)有賦值,是一個(gè)空的,就從一級(jí)緩存中去看testSerivce2有沒(méi)有實(shí)例,發(fā)現(xiàn)沒(méi)有,去二級(jí)查看發(fā)現(xiàn)沒(méi)有,去三級(jí)緩存查看,發(fā)現(xiàn)沒(méi)有,就創(chuàng)建實(shí)例,也提前暴露,添加到三級(jí)緩存里面。

這個(gè)時(shí)候testSerivce2對(duì)象里面發(fā)現(xiàn)testService1里面沒(méi)有賦值,然后對(duì)testService1進(jìn)行賦值,從一級(jí)緩存去查看,發(fā)現(xiàn)沒(méi)有,去二級(jí)查看,發(fā)現(xiàn)沒(méi)有,去三級(jí)查看,發(fā)現(xiàn)有,就把實(shí)例testService1從三級(jí)緩存添加到二級(jí)緩存里面,把實(shí)例testService1三級(jí)緩存的實(shí)例刪除,這個(gè)時(shí)候,testService2里面有實(shí)例對(duì)象,對(duì)象里面的testService1也有值了,就是一個(gè)可以使用的實(shí)例對(duì)象了,就把這個(gè)對(duì)象移動(dòng)到一級(jí)緩存里面,把三級(jí)緩存里面的testService2刪除。

這個(gè)時(shí)候testService1里面的testService2屬性就可以從一級(jí)緩存里面獲取這個(gè)testService2實(shí)例了,把它進(jìn)行賦值填充,testService1也完成了實(shí)例化,把testService1從二級(jí)緩存移動(dòng)到一級(jí)緩存里面,把testService1在二級(jí)緩存的實(shí)例也刪除。

到此這篇關(guān)于Spring使用三級(jí)緩存解決循環(huán)依賴的過(guò)程】的文章就介紹到這了,更多相關(guān)Spring三級(jí)緩存解決循環(huán)依賴內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC中RequestBody注解的List參數(shù)傳遞方式

    SpringMVC中RequestBody注解的List參數(shù)傳遞方式

    這篇文章主要介紹了SpringMVC中RequestBody注解的List參數(shù)傳遞方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 簡(jiǎn)單談?wù)刯ava中final,finally,finalize的區(qū)別

    簡(jiǎn)單談?wù)刯ava中final,finally,finalize的區(qū)別

    Java中final、finally、finalize的區(qū)別與用法,困擾了不少學(xué)習(xí)者,下面我們就這個(gè)問(wèn)題進(jìn)行一些探討,希望對(duì)大家的學(xué)習(xí)有所幫助。
    2016-05-05
  • SpringBoot實(shí)現(xiàn)Word轉(zhuǎn)PDF和TXT的實(shí)踐分享

    SpringBoot實(shí)現(xiàn)Word轉(zhuǎn)PDF和TXT的實(shí)踐分享

    研發(fā)工作中難免會(huì)遇到一些奇奇怪怪的需求,就比如最近,客戶提了個(gè)新需求:上傳一個(gè)WORD文檔,要求通過(guò)系統(tǒng)把該文檔轉(zhuǎn)換成PDF和TXT,所以本文給大家分享了SpringBoot實(shí)現(xiàn)Word轉(zhuǎn)PDF和TXT的實(shí)踐,感興趣的朋友可以參考下
    2024-08-08
  • java實(shí)現(xiàn)單詞查詢小程序

    java實(shí)現(xiàn)單詞查詢小程序

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)單詞查詢小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • springboot整合騰訊云短信開(kāi)箱即用的示例代碼

    springboot整合騰訊云短信開(kāi)箱即用的示例代碼

    這篇文章主要介紹了springboot整合騰訊云短信開(kāi)箱即用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java線程池并發(fā)執(zhí)行多個(gè)任務(wù)方式

    Java線程池并發(fā)執(zhí)行多個(gè)任務(wù)方式

    這篇文章主要介紹了Java線程池并發(fā)執(zhí)行多個(gè)任務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Spring中獲取Bean對(duì)象的三種注入方式與兩種注入方法詳解

    Spring中獲取Bean對(duì)象的三種注入方式與兩種注入方法詳解

    平常的Java開(kāi)發(fā)中程序員在某個(gè)類中需要依賴其它類的方法,下面這篇文章主要給大家介紹了關(guān)于Spring中獲取Bean對(duì)象的三種注入方式與兩種注入方法的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Java多線程中的wait與notify方法詳解

    Java多線程中的wait與notify方法詳解

    這篇文章主要介紹了Java多線程中的wait與notify方法詳解,線程的調(diào)度是無(wú)序的,但有些情況要求線程的執(zhí)行是有序的,因此,我們可以使用 wait() 方法來(lái)使線程執(zhí)行有序,需要的朋友可以參考下
    2023-08-08
  • springboot集成fastDfs過(guò)程代碼實(shí)例

    springboot集成fastDfs過(guò)程代碼實(shí)例

    這篇文章主要介紹了springboot集成fastDfs過(guò)程代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Java如何做帶復(fù)選框的菜單實(shí)例代碼

    Java如何做帶復(fù)選框的菜單實(shí)例代碼

    大家好,本篇文章主要講的是Java如何做帶復(fù)選框的菜單實(shí)例代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評(píng)論