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

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

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

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

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

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    springboot整合騰訊云短信開箱即用的示例代碼

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

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

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

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

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

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

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

    springboot集成fastDfs過程代碼實例

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

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

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

最新評論