亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring?IOC容器使用詳細(xì)講解

 更新時(shí)間:2022年12月21日 10:39:26   作者:King'sLanding  
IOC-Inversion?of?Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計(jì)思想。這篇文章將為大家介紹一下Spring控制反轉(zhuǎn)IOC的原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Spring IOC

IOC思想

IOC:Inversion of Control,翻譯過來是反轉(zhuǎn)控制。

獲取資源的傳統(tǒng)方式

必須清楚了解資源創(chuàng)建整個(gè)過程中的全部細(xì)節(jié)且熟練掌握

在應(yīng)用程序中的組件需要獲取資源時(shí),傳統(tǒng)的方式是組件主動(dòng)的從容器中獲取所需要的資源,在這樣的模式下開發(fā)人員往往需要知道在具體容器中特定資源的獲取方式,增加了學(xué)習(xí)成本,同時(shí)降低了開發(fā)效率。

反轉(zhuǎn)控制方式獲取資源

不必關(guān)心資源創(chuàng)建過程的所有細(xì)節(jié)。

反轉(zhuǎn)控制的思想完全顛覆了應(yīng)用程序組件獲取資源的傳統(tǒng)方式:反轉(zhuǎn)了資源的獲取方式——改由容器主動(dòng)的將資源推送給需要的組件,開發(fā)人員不需要知道容器是如何創(chuàng)建資源對(duì)象的,只需要提供接收資源的方式即可,極大的降低了學(xué)習(xí)成本,提高了開發(fā)的效率。這種行為也稱為查找的被動(dòng)形式。

DI依賴注入

DI:Dependency Injection,翻譯過來是依賴注入。

DI 是 IOC 的另一種表述方式:即組件以一些預(yù)先定義好的方式(例如:setter 方法)接受來自于容器的資源注入。相對(duì)于IOC而言,這種表述更直接。

所以結(jié)論是:IOC 就是一種反轉(zhuǎn)控制的思想, 而 DI 是對(duì) IOC 的一種具體實(shí)現(xiàn)。

IOC容器在Spring中的實(shí)現(xiàn)

? Spring 的 IOC 容器就是 IOC 思想的一個(gè)落地的產(chǎn)品實(shí)現(xiàn)。IOC 容器中管理的組件也叫做 bean。在創(chuàng)建bean 之前,首先需要?jiǎng)?chuàng)建 IOC 容器。

Spring 提供了 IOC 容器的兩種實(shí)現(xiàn)方式:

BeanFactory

這是 IOC 容器的基本實(shí)現(xiàn),是 Spring 內(nèi)部使用的接口。面向 Spring 本身,不提供給開發(fā)人員使用。

ApplicationContext

BeanFactory 的子接口,提供了更多高級(jí)特性。面向 Spring 的使用者,幾乎所有場(chǎng)合都使用 ApplicationContext 而不是底層的 BeanFactory。

ApplicationContext的主要實(shí)現(xiàn)類

類型名簡(jiǎn)介簡(jiǎn)介
ClassPathXmlApplicationContext通過讀取類路徑下的 XML 格式的配置文件創(chuàng)建 的IOC 容器 對(duì)象
FileSystemXmlApplicationContext通過文件系統(tǒng)路徑讀取 XML 格式的配置文件創(chuàng)建 IOC 容 器對(duì)象
ConfigurableApplicationContextApplicationContext 的子接口,包含一些擴(kuò)展方法 refresh() 和 close() ,讓 ApplicationContext 具有啟動(dòng)、 關(guān)閉和刷新上下文的能力。
WebApplicationContext專門為 Web 應(yīng)用準(zhǔn)備,基于 Web 環(huán)境創(chuàng)建 IOC 容器對(duì) 象,并將對(duì)象引入存入 ServletContext 域中。

ClassPathXmlApplicationContext獲取Bean

讀取類路徑下的 XML 格式的配置文件創(chuàng)建的 IOC 容器對(duì)象

創(chuàng)建bean測(cè)試

/**
 * Created by KingsLanding on 2022/7/31 18:37
 */
public class HelloWorldSpring {
    public void satHello(){
        System.out.println("hello World Spring ioc");
    }
}

在Spring的配置文件中配置bean

通過bean標(biāo)簽配置IOC容器所管理的bean

  • id:設(shè)置bean的唯一標(biāo)識(shí)
  • class:設(shè)置bean所對(duì)應(yīng)類型的全類名
    <!--
    配置HelloWorldSpring 所對(duì)應(yīng)的bean,即將HelloWorldSpring 的對(duì)象交給Spring的IOC容器管理
-->
    <bean id="helloWorld" class="com.spring.pojo.HelloWorldSpring"></bean>

測(cè)試結(jié)果

@Test
 public void testHello(){
     //獲取IOC容器
    ApplicationContext ioc = new ClassPathXmlApplicationContext("HelloSpring.xml");
    HelloWorldSpring helloWorld = (HelloWorldSpring) ioc.getBean("helloWorld");
    helloWorld.satHello();
}

到此這篇關(guān)于Spring IOC容器使用詳細(xì)講解的文章就介紹到這了,更多相關(guān)Spring IOC容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC 跨重定向請(qǐng)求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)

    SpringMVC 跨重定向請(qǐng)求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)

    這篇文章主要介紹了SpringMVC 跨重定向請(qǐng)求傳遞數(shù)據(jù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Spring Boot+Jpa多數(shù)據(jù)源配置的完整步驟

    Spring Boot+Jpa多數(shù)據(jù)源配置的完整步驟

    這篇文章主要給大家介紹了關(guān)于Spring Boot+Jpa多數(shù)據(jù)源配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 基于Java的電梯系統(tǒng)實(shí)現(xiàn)過程

    基于Java的電梯系統(tǒng)實(shí)現(xiàn)過程

    這篇文章主要介紹了基于Java的電梯系統(tǒng)實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • springboot自定義starter實(shí)現(xiàn)過程圖解

    springboot自定義starter實(shí)現(xiàn)過程圖解

    這篇文章主要介紹了springboot自定義starter實(shí)現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 基于SpringBoot和Leaflet的行政區(qū)劃地圖掩膜效果實(shí)戰(zhàn)教程

    基于SpringBoot和Leaflet的行政區(qū)劃地圖掩膜效果實(shí)戰(zhàn)教程

    本文講解的是一種圖層級(jí)的掩膜,即使用行政區(qū)劃圖層來進(jìn)行掩膜,使用場(chǎng)景為,用戶只需要在地圖頁面中展示目標(biāo)行政區(qū)劃內(nèi)的影像信息,對(duì)于行政邊界外的影像,這篇文章主要介紹了基于SpringBoot和Leaflet的行政區(qū)劃地圖掩膜效果實(shí)戰(zhàn),需要的朋友可以參考下
    2024-05-05
  • Java垃圾回收器的方法和原理總結(jié)

    Java垃圾回收器的方法和原理總結(jié)

    本篇文章主要介紹了Java垃圾回收器的方法和原理總結(jié),Java垃圾回收器是Java虛擬機(jī)的重要模塊,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2016-12-12
  • J2SE基礎(chǔ)之下載eclipse并創(chuàng)建項(xiàng)目

    J2SE基礎(chǔ)之下載eclipse并創(chuàng)建項(xiàng)目

    本文給大家介紹的是最流行的java 集成開發(fā)環(huán)境IDE eclipse的使用方法,非常的簡(jiǎn)單,有需要的小伙伴可以參考下
    2016-05-05
  • 說說字符串轉(zhuǎn) OffSetDateTime 你真的會(huì)用嗎

    說說字符串轉(zhuǎn) OffSetDateTime 你真的會(huì)用嗎

    這篇文章主要介紹了字符串轉(zhuǎn) OffSetDateTime 你真的會(huì)用嗎?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java Unsafe 類的講解

    Java Unsafe 類的講解

    這篇文章主要給大家分享了 Java Unsafe 類的講解,文章圍繞Unsafe 類的相關(guān)資料展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值需要的朋友可以參考一下
    2021-11-11
  • 老生常談spring boot 1.5.4 日志管理(必看篇)

    老生常談spring boot 1.5.4 日志管理(必看篇)

    下面小編就為大家?guī)硪黄仙U剆pring boot 1.5.4 日志管理(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06

最新評(píng)論