最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一級緩存存放實例化對象 。二級緩存存放已經(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)建的過程中,提前暴露,添加到三級緩存里。

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

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

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

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

相關(guān)文章

  • Java實現(xiàn)數(shù)據(jù)脫敏(Desensitization)的操作指南

    Java實現(xiàn)數(shù)據(jù)脫敏(Desensitization)的操作指南

    數(shù)據(jù)脫敏是指通過對敏感數(shù)據(jù)進行部分或完全隱藏處理,保護敏感信息在存儲和使用過程中的安全性,常見的應用場景包括日志記錄、接口返回、報表展示、數(shù)據(jù)分析等,本文給大家介紹了Java實現(xiàn)數(shù)據(jù)脫敏(Desensitization)的操作指南,需要的朋友可以參考下
    2025-02-02
  • java樹形菜單對象生成

    java樹形菜單對象生成

    這篇文章主要為大家詳細介紹了java樹形菜單對象生成,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Spring Boot 2.2 正式發(fā)布,大幅性能提升 + Java 13 支持

    Spring Boot 2.2 正式發(fā)布,大幅性能提升 + Java 13 支持

    隨著 Spring Framework 5.2.0 成功發(fā)布之后,Spring Boot 2.2 也緊跟其后,發(fā)布了第一個版本:2.2.0。下面就來一起來看看這個版本都更新了些什么值得我們關(guān)注的內(nèi)容
    2019-10-10
  • mybatis中關(guān)于type-aliases-package的使用

    mybatis中關(guān)于type-aliases-package的使用

    這篇文章主要介紹了mybatis中關(guān)于type-aliases-package的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • SpringBoot自定義/error路徑失效的解決

    SpringBoot自定義/error路徑失效的解決

    這篇文章主要介紹了SpringBoot自定義/error路徑失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 基于Java中throw和throws的區(qū)別(詳解)

    基于Java中throw和throws的區(qū)別(詳解)

    下面小編就為大家?guī)硪黄贘ava中throw和throws的區(qū)別(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 利用Java發(fā)送郵件的實現(xiàn)代碼

    利用Java發(fā)送郵件的實現(xiàn)代碼

    這篇文章給大家分享了如何利用Java發(fā)送郵件,文章通過實例代碼介紹的很詳細,有需要的可以參考借鑒。
    2016-08-08
  • ManyToMany單向、雙向:@JoinTable的使用

    ManyToMany單向、雙向:@JoinTable的使用

    這篇文章主要介紹了ManyToMany單向、雙向:@JoinTable的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring?Boot提高開發(fā)效率必備工具lombok使用

    Spring?Boot提高開發(fā)效率必備工具lombok使用

    這篇文章主要為大家介紹了Spring?Boot提高開發(fā)效率的必備工具lombok使用方法示例及步驟說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • Java?Optional的判空操作詳解

    Java?Optional的判空操作詳解

    JAVA在1.8版本推出Optional,官方文檔將其描述為可能包含或不包含非空值的容器對象,目前Optional用于避免程序出現(xiàn)異常NullPointerException,感興趣的可以了解一下
    2022-09-09

最新評論

新竹县| 珠海市| 曲阜市| 卢龙县| 仙游县| 新沂市| 金乡县| 湖北省| 东明县| 舟山市| 晋江市| 峨山| 崇文区| 梨树县| 乌苏市| 宜良县| 瑞丽市| 九寨沟县| 白水县| 罗甸县| 桃源县| 鄂伦春自治旗| 沙坪坝区| 大渡口区| 肥乡县| 十堰市| 湟中县| 钦州市| 肃宁县| 阳城县| 荆州市| 洛宁县| 融水| 神农架林区| 宁海县| 和静县| 白山市| 肥城市| 遂溪县| 鲁甸县| 嘉荫县|