<form id="dlljd"></form>
        <address id="dlljd"><address id="dlljd"><listing id="dlljd"></listing></address></address>

        <em id="dlljd"><form id="dlljd"></form></em>

          <address id="dlljd"></address>
            <noframes id="dlljd">

              聯系我們 - 廣告服務 - 聯系電話:
              您的當前位置: > 關注 > > 正文

              基于瀏覽器的B/S結構 如何解決循環依賴?

              來源:CSDN 時間:2023-04-19 08:41:20

              前言

              在網絡技術中基于瀏覽器的B/S結構無論在PC端還是手機端都充當著至關重要的角色。 PC端自不必說,手機中很多應用雖然是以APP的形式存在,但它采用的還是B/S結構。如今日頭條、微信的朋友圈等,這些應用在內部封裝了瀏覽器,后端仍然是 Web站點。

              在大型網站和復雜系統的開發中,Java無疑具有很大的優勢,而在lava的Web框架中 Sprig MVC 以其強大的功能和簡單且靈活的用法受到越來越多開發者的青睞。


              【資料圖】

              Spring MVC入門很簡單,但是要想真正使用好卻并非易事,而且現在也沒有全面、深入地使用資料,以致在實際使用的過程中程序員經常會遇到各種各樣的問題而不知道如何解決。對 Spring MVC 這樣的開源項目來說。最好的學習方法當然是分析它的源代碼,分析透源代碼不僅可以讓我們更靈活地使用 Spring MVC來開發高質量的產品,而且可以學習到其中的很多優秀的編程技巧和設計理念。

              本次分享PDF文檔資料除了分析Spring MVC的源代碼,還系統地介紹了各種網站架構的演變以及 Web開發中所涉及的協議和Tomcat的實現方法,現在很多程序員都想了解這方面的知識,但苦于缺乏通俗易懂的資料,而且這些也是程序員達到更高的層次所需要的知識。

              二、什么是循環依賴

              循環依賴直白點就是發生在兩個類,你引用我,我引用你的狀態,如圖:

              三、如果不依賴于Spring自己解決循環依賴如何解決

              以上圖為例,假設,我們能夠創建完成AService之后,放置到到一個緩存中,再去注入屬性!每次注入屬性的時候,所需要的屬性值都從緩存中獲取一遍,緩存中沒有再去創建不就解決了?如圖所示:

              總結一下上面的流程:

              AService創建完成后將自己加入到二級緩存,然后開始注入屬性發現AService依賴BService于是先查詢一級緩存是否有數據一級緩存沒有就查詢二級緩存,有就返回,沒有就創建BService緩存中沒有,開始實例化BService,然后注入內部屬性!注入內部屬性時發現依賴AService,于是先查詢一級緩存是否有數據一級緩存沒有就查詢二級緩存,有就返回,沒有就創建,很顯然,二級緩存是有數據的。于是從二級緩存取出AService注入到BService。BService創建完成后將自己從二級緩存挪到一級緩存,并返回。AService獲取到BService后,注入到自己的屬性中并把自己從二級緩存挪的一級緩存,返回AService!至此,循環依賴創建完成!

              那么有了上面的思路,我們如何用代碼實現一遍我們的邏輯呢?

              Java高頻面試專題合集解析:

              當然在這還有更多整理總結的Java進階學習筆記和面試題未展示,在這也是免費分享給那些有需要的朋友,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并發等架構資料和完整的Java架構學習進階導圖!

              這些資料都以整理成了PDF文檔,如果有需要可以狂戳這里免費下載即可!

              責任編輯:

              標簽: 二級緩存

              相關推薦:

              精彩放送:

              新聞聚焦
              Top 中文字幕在线观看亚洲日韩