欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?IOC容器使用詳細講解

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

Spring IOC

IOC思想

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

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

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

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

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

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

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

DI依賴注入

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

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

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

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

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

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

BeanFactory

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

ApplicationContext

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

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

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

ClassPathXmlApplicationContext獲取Bean

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

創(chuàng)建bean測試

/**
 * 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標簽配置IOC容器所管理的bean

  • id:設置bean的唯一標識
  • class:設置bean所對應類型的全類名
    <!--
    配置HelloWorldSpring 所對應的bean,即將HelloWorldSpring 的對象交給Spring的IOC容器管理
-->
    <bean id="helloWorld" class="com.spring.pojo.HelloWorldSpring"></bean>

測試結(jié)果

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

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

相關文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Java Unsafe 類的講解

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

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

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

最新評論