国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - 測試同學上手Spring 之IoC深入解析

測試同學上手Spring 之IoC深入解析

2021-03-17 01:07今日頭條測試開發Kevin JAVA教程

想要理解Spring,必須要掌握的兩個知識點就是IoC和AOP,在這里我首先帶大家了解一下什么是IoC。為大家上手Sping編碼做好前期最充分的知識儲備,做到有的放矢!

測試同學上手Spring 之IoC深入解析

想要理解Spring,必須要掌握的兩個知識點就是IoC和AOP,在這里我首先帶大家了解一下什么是IoC。為大家上手Sping編碼做好前期最充分的知識儲備,做到有的放矢!

Spring Hello World 回顧

在Hello Spring實例中我們定義了類

public class HelloSpring { 

    private String name="hello"

    HelloSpring(){ 

     System.out.println("Hello Spring"); 

    }  

    public String getName() { 

        return this.name ; 

    }     

    public void setName(String name) { 

        this.name = name

    } 

配置文件中的配置信息如下:

調用HelloSpring中的getName方法代碼如下:

public static void main(String[] args) { 

ApplicationContextcontext = new ClassPathXmlApplicationContext("beans1.xml"); 

HelloSpringhello = (HelloSpring) context.getBean("hellospring"); 

           System.out.println(hello.getName()); 

        } 

運行結果如下:

Hello Spring //構造函數中輸出的值 

 

Hello //getName方法中輸出的值 

詳細可以參考文章 測試同學從0到1上手Spring

IOC解讀

我們可以看到spring并沒有new 實例的過程,但是完成了實例化的操作,并成功地調用了getName方法。這就是Spring中的控制反轉技術(IoC)。

Spring通過一種稱作控制反轉(Inversion of Control —IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。也就是說Spring控制了對象的生成,應用程序不再需要主動創建對象了!

我們通常說的SpringIoC,實際上是指Spring框架提供的IoC容器實現(IoC Container)。

Spring 的 IoC 容器中發生的事情其實也很簡單,總結下來即兩個階段:

采摘和收集“咖啡豆”(bean)

研磨和烹飪咖啡

第一個階段可以認為是構建和收集 bean 定義的階段,在這個階段中,我們可以通過 XML 或者 Java 代碼的方式定義一些 bean,然后通過手動組裝或者讓容器基于某些機制自動掃描的形式,將這些 bean 定義收集到 IoC 容器中。我們通常通過在xml文件中定義bean,然后容器再將這些bean收集到IoC容器中。當第一階段工作完成后,我們可以先暫且認為 IoC 容器中充斥著一個個獨立的 bean,它們之間沒有任何關系。但實際上,它們之間是有依賴關系的,所以,IoC容器在第二階段要干的事情就是分析這些器已經在 IoC 容器之中的 bean,然后根據它們之間的依賴關系先后組裝它們。如果 IoC 容發現某個 bean 依賴另一個 bean,它就會將這另一個 bean 注入給依賴它的那個 bean,直到所有 bean 的依賴都注入完成,所有 bean 都“整裝待發”,整個 IoC 容器的工作即算完成。

IOC基本運行流程如下圖所示:

測試同學上手Spring 之IoC深入解析

Spring 啟動時讀取應用程序提供的Bean配置信息,并在Spring容器中生成一份相應的Bean配置注冊表,然后根據這張注冊表實例化Bean,裝配好Bean之間的依賴關系,為上層應用提供準備就緒的運行環境。

IOC深入理解

IoC容器

實現了IoC思想的容器就是IoC容器。IoC容器功能包括:實例化、初始化組件、裝配組件依賴關系、負責組件生命周期管理。

IoC容器特點

無需主動new對象;而是描述對象應該如何被創建即可。IoC容器幫你創建,即被動實例化;

不需要主動裝配對象之間的依賴關系,而是描述需要哪個服務(組件),IoC容器會幫你裝配(即負責將它們關聯在一起),被動接受裝配;

IoC是一種讓服務消費者不直接依賴于服務提供者的組件設計方式,是一種減少類與類之間依賴的設計原則。

理解IoC容器問題關鍵:控制的哪些方面被反轉了?

1、誰控制誰?為什么叫反轉? IoC容器控制,而以前是應用程序控制,所以叫反轉

2、控制什么?控制應用程序所需要的資源(對象、文件……)

3、為什么控制?解耦組件之間的關系

4、控制的哪些方面被反轉了?程序的控制權發生了反轉:從應用程序轉移到了IoC容器。

使用IoC容器開發需要改變的思路

1、應用程序不主動創建對象,但要描述創建它們的方式。

2、在應用程序代碼中不直接進行服務的裝配,但要配置文件中描述哪一個組件需要哪一項服務。容器負責將這些裝配在一起。

最通俗的解釋

所有的類都會在spring容器中登記,告訴spring你是個什么東西,你需要什么東西,然后spring會在系統運行到適當的時候,把你要的東西主動給你,同時也把你交給其他需要你的東西。所有的類的創建、銷毀都由 spring來控制,也就是說控制對象生存周期的不再是引用它的對象,而是spring。對于某個具體的對象而言,以前是它控制其他對象,現在是所有對象都被spring控制,所以這叫控制反轉。

原文地址:https://www.toutiao.com/i6939744942810071563/

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久激情视频 | 成人日韩视频在线观看 | 综合久久综合 | 欧美国产精品一区 | 精彩视频一区二区三区 | 玖玖综合网 | 久久av一区二区 | 国产美女视频网站 | 日韩中文视频 | 国产欧美日韩在线观看 | 免费一级在线 | 久久精品色欧美aⅴ一区二区 | 久久不射电影网 | 男女激情网址 | 韩日精品视频 | 99热最新网址 | 九色porny丨国产精品 | 日本精品一区二区三区在线观看视频 | 午夜免费小视频 | 依人在线 | а天堂中文最新一区二区三区 | 亚洲国产精品成人精品 | 九九综合久久 | 91精品欧美久久久久久动漫 | 日韩精品在线一区二区 | 久久精品亚洲一区二区 | 狠狠操狠狠干 | 免费观看一区二区三区毛片 | 日本1区 | 人人超碰97 | av在线日韩| 欧美精品v国产精品v日韩精品 | 久久久国产精品视频 | 国产精品99久久免费观看 | 亚洲在线电影 | 黄色av网站在线观看 | 激情久久久 | 国产一区二区视频免费看 | 国产精品国产三级国产aⅴ中文 | 丝袜+亚洲+另类+欧美+变态 | 国产黄色av网站 |