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

Spring相關(guān)知識點的總結(jié)與梳理

 更新時間:2019年02月11日 11:00:41   作者:邋遢的流浪劍客  
今天小編就為大家分享一篇關(guān)于Spring相關(guān)知識點的總結(jié)與梳理,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1)、IOC:控制反轉(zhuǎn),某一接口具體實現(xiàn)類的選擇控制權(quán)從調(diào)用類中移除,轉(zhuǎn)交給第三方?jīng)Q定,即由Spring容器借由Bean配置來進行控制

2)、DI:依賴注入,讓調(diào)用類對某一接口實現(xiàn)類的依賴關(guān)系由第三方(容器或協(xié)作類)注入,以移除調(diào)用類對某一接口實現(xiàn)類的依賴

3)、IOC主要分為3種類型:構(gòu)造函數(shù)注入、屬性注入和接口注入。Spring支持構(gòu)造函數(shù)注入和屬性注入

4)、類裝載器ClassLoader

類裝載器就是尋找類的字節(jié)碼文件并構(gòu)造出類在JVM內(nèi)部表示對象的組件。在Java中,類裝載器把一個類裝入JVM中,需要經(jīng)過以下步驟:

(1)裝載:查找和導入Class文件

(2)鏈接:

A.校驗:檢查載入Class文件數(shù)據(jù)的正確性

B.準備:給類的靜態(tài)變量分配存儲空間

C.解析:對符號引用轉(zhuǎn)換成直接引用

(3)初始化:對類的靜態(tài)變量、靜態(tài)代碼塊執(zhí)行初始化工作

類裝載工作由ClassLoader及其子類負責。ClassLoader負責在運行時查找和裝入Class字節(jié)碼文件。JVM在運行時會產(chǎn)生3個ClassLoader:跟裝載器、ExtClassLoader(擴展類裝載器)和AppClassLoader(應(yīng)用類裝載器)。其中, 根裝載器不是ClassLoader的子類,它使用C++語言編寫,因而在Java中看不到它,根裝載器負責裝載JRE的核心類庫,如JRE目標下的rt.jar、charsets.jar等。ExtClassLoader和AppClassLoader都是ClassLoader的子類,其中ExtClassLoader負責裝載JRE擴展目錄ext中的JAR類包;AppClassLoader負責裝載Classpath路徑下的類包

跟裝載器是ExtClassLoader的父裝載器,ExtClassLoader是AppClassLoader的父裝載器。默認情況下,使用AppClassLoader裝載應(yīng)用程序的類

JVM裝載類時使用全盤負責委托機制,全盤負責是指當一個ClassLoader裝載一個類時,除非顯示地使用另一個ClassLoader,該類所依賴及引用的類也由這個ClassLoader載入;委托機制是指先委托父裝載器尋找目標類,只有在找不到的情況下才從自己的類路徑中查找并裝載目標類

5)、屬性注入要求Bean提供一個默認的構(gòu)造函數(shù),并為需要注入的屬性提供對應(yīng)的Setter方法。Spring先調(diào)用Bean的默認構(gòu)造函數(shù)實例化Bean對象,然后通過反射的方法調(diào)用Setter方法注入屬性值

6)、SprIng只會檢查Bean中是否有對應(yīng)的Setter方法,至于Bean中是否有對應(yīng)的屬性成員變更則不做要求

7)、JavaBean也允許以大寫字母開頭的屬性變量名,不過必須滿足變量的前兩個字母要么全部大寫,要么全部小寫的要求

8)、標簽接口是沒有任何方法和屬性的接口,它不對實現(xiàn)類有任何語義上的要求,僅僅表明它的實現(xiàn)類屬于一個特定的類型。它主要有兩個用途:第一,通過標簽接口標識同一類型的類,這些類本身可能并不具有相同的方法,如Advice接口;第二,通過標簽接口使程序或JVM采取一些特殊處理,如java.io.Serializable,它告訴JVM對象可以被序列化

9)、AOP相關(guān)名詞

(1)連接點:一個類或一段程序代碼擁有一些具有邊界性質(zhì)的特定點,Spring僅支持方法的連接點

(2)切點:通過切點定位特定的連接點

(3)增強:織入目標類連接點上的一段程序代碼

(4)目標對象:增強邏輯的織入目標類

(5)引介:引介是一種特殊的增強,它為類添加一些屬性和方法

(6)織入:將增強添加到目標類的具體連接點上的過程

(7)代理:一個類被AOP織入增強后,就產(chǎn)生了一個結(jié)果類,它是融合了原類和增強邏輯的代理類

(8)切面:切面由切點和增強組成

10)、增強類型

(1)前置增強:org.springframework.aop.BeforeAdvice代表前置增強,表示在目標方法執(zhí)行前實施增強

(2)后置增強:org.springframework.aop.AfterReturningAdvice代表后置增強,表示在目標方法執(zhí)行前后實施增強

(3)環(huán)繞增強:org.aopalliance.intercept.MethodInterceptor代表環(huán)繞增強,表示在目標方法執(zhí)行前后實施增強

(4)異常拋出增強:org.springframework.aop.ThrowsAdvice代表拋出異常增強,表示在目標方法拋出異常后實施增強

(5)引介增強:org.springframework.aop.IntroductionInterceptor代表引介增強,表示在目標類中添加一些新的方法和屬性

11)、ThreadLocal是保存線程本地化對象的容器。當運行于多線程環(huán)境的某個對象使用ThreadLocal維護變量時,ThreadLocal為每個使用該變量的線程分配一個獨立的變量副本。所以每個線程都可以獨立地改變自己的副本,而不會影響到其他線程所對應(yīng)的副本

InheritableThreadLocal繼承于ThreadLocal,它自動為子線程復(fù)制一份從父線程那里繼承而來的本地變量:在創(chuàng)建子線程時,子線程會接收所有可繼承的線程本地變量的初始值

ThreadLocal類中有一個Map,用于存儲每個線程的變量副本,Map中元素的鍵為線程對象,值為對應(yīng)線程的變量副本

同步機制采用了以時間換空間的方式,訪問串行化,對象共享化;而ThreadLocal采用了以空間換時間的方式:訪問并行化,對象獨享化

12)、SpringMVC流程圖

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • 使用Jenkins來構(gòu)建SVN+Maven項目的實現(xiàn)

    使用Jenkins來構(gòu)建SVN+Maven項目的實現(xiàn)

    這篇文章主要介紹了使用Jenkins來構(gòu)建SVN+Maven項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Springboot集成magic-api的詳細過程

    Springboot集成magic-api的詳細過程

    這篇文章主要介紹了Springboot集成magic-api的相關(guān)知識,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • java處理數(shù)據(jù)庫不支持的emoji表情符問題解決

    java處理數(shù)據(jù)庫不支持的emoji表情符問題解決

    這篇文章主要介紹了java處理數(shù)據(jù)庫不支持的emoji表情符問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Java數(shù)組添加元素的兩種方法

    Java數(shù)組添加元素的兩種方法

    這篇文章主要介紹了Java數(shù)組添加元素的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友跟著小編來一起學習學習吧
    2023-04-04
  • Java中關(guān)于char類型變量能夠輸出中文的問題

    Java中關(guān)于char類型變量能夠輸出中文的問題

    這篇文章主要介紹了Java中關(guān)于char類型變量能夠輸出中文的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java編程經(jīng)典小游戲設(shè)計-打磚塊小游戲源碼

    Java編程經(jīng)典小游戲設(shè)計-打磚塊小游戲源碼

    這篇文章主要介紹了Java編程經(jīng)典小游戲設(shè)計-打磚塊小游戲源碼,還是挺不錯的,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Postman實現(xiàn)傳List<String>集合

    Postman實現(xiàn)傳List<String>集合

    這篇文章主要介紹了Postman實現(xiàn)傳List<String>集合方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java數(shù)據(jù)結(jié)構(gòu)排序算法之歸并排序詳解

    java數(shù)據(jù)結(jié)構(gòu)排序算法之歸并排序詳解

    這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)排序算法之歸并排序,結(jié)合具體實例形式詳細分析了歸并排序的原理、實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下
    2017-05-05
  • Java多線程中的CountDownLatch詳細解讀

    Java多線程中的CountDownLatch詳細解讀

    這篇文章主要介紹了Java多線程中的CountDownLatch詳細解讀,一個同步輔助類,在完成一組正在其他線程中執(zhí)行的操作之前,它允許一個或多個線程一直等待,用給定的計數(shù) 初始化 CountDownLatch,需要的朋友可以參考下
    2023-11-11
  • Java中Object類常用的12個方法(小結(jié))

    Java中Object類常用的12個方法(小結(jié))

    Java 中的 Object 方法在面試中是一個非常高頻的點,本文主要介紹了Java中Object類常用的12個方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評論

县级市| 章丘市| 和静县| 凤山市| 聊城市| 武冈市| 潮安县| 手机| 蓬溪县| 鄂温| 岢岚县| 张家川| 张家川| 兴仁县| 辉南县| 历史| 高尔夫| 北辰区| 海晏县| 乐平市| 常熟市| 若羌县| 荆州市| 宜兴市| 高要市| 佳木斯市| 盘山县| 曲周县| 略阳县| 民和| 盘山县| 德昌县| 五家渠市| 昆明市| 南宫市| 静乐县| 瑞金市| 汶上县| 贺兰县| 广河县| 焉耆|