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

SpringIOC控制反轉(zhuǎn)的原理詳解

 更新時(shí)間:2023年08月17日 08:29:31   作者:劉婉晴  
這篇文章主要介紹了SpringIOC控制反轉(zhuǎn)的原理詳解,本來管理業(yè)務(wù)對象(bean)的操作是由我們程序員去做的,但是有了?Spring?核心容器后,這些?Bean?對象的創(chuàng)建和管理交給我們Spring容器去做了,也就是控制權(quán)由程序員變成了容器,需要的朋友可以參考下

一、 IOC 的概念

Spring 的 IOC ,即控制反轉(zhuǎn)

所謂控制反轉(zhuǎn) —— 本來管理業(yè)務(wù)對象(bean)的操作是由我們程序員去做的,但是有了 Spring 核心容器后,這些 Bean 對象的創(chuàng)建和管理交給我們Spring容器去做了,也就是控制權(quán)由程序員變成了容器。

Spring 通過 Java 語言的反射機(jī)制實(shí)現(xiàn)實(shí)例化 Bean ,并建立 Bean 之間的依賴關(guān)系。

除此之外,Spring IOC 還提供 Bean 實(shí)例緩存,生命周期管理,Bean 實(shí)例代理等高級服務(wù)。

二、 高層視圖

Spring 應(yīng)用啟動(dòng)時(shí),讀取 Bean配置信息,在容器中生成注冊表,然后根據(jù)注冊表去實(shí)例化 Bean,再將實(shí)例化好的 Bean 放入 Spring 容器的 Bean 緩存池中,為上層應(yīng)用程序使用。

在這里插入圖片描述

三、 實(shí)現(xiàn)

BeanFactory 面向 Spring 本身, ApplicationContext 面向使用 Spring 框架的開發(fā)者。

BeanFactory

在這里插入圖片描述

BeanDefinitionRegistry 注冊表

Spring 配置的每一個(gè) Bean 通過 BeanDefination 表示,描述了 Bean 的配置信息,BeanDefinitionRegistry 提供了向容器中注冊 BeanDefination 的方法。

BeanFactory

getBean() 從容器中獲取指定名稱的 Bean

  • ListableBeanFactory : 提供訪問容器 Bean 信息的方法
  • HierarchicalBeanFactory : 父子級聯(lián) ,實(shí)現(xiàn)子容器可以訪問父容器的 Bean,但是父容器不能訪問子容器的 Bean
  • ConfifurableBeanFactory : 增強(qiáng)了IOC容器的定制性。
  • SingletonBeanFactory : 允許運(yùn)行時(shí)向容器中注冊單例 Bean

ApplicationContext

ApplicationContext 由 BeanFactory 派生而來,提供了更多面向?qū)嶋H應(yīng)用的功能

比如從類路徑加載配置文件等 …

在這里插入圖片描述

四、 Bean 的作用域和生命周期

作用域

  • Singleton : 單例模式,全局只有一個(gè)對象,多線程下不安全
  • Prototype : 原型模式,在每次使用時(shí)創(chuàng)建,每個(gè) Bean 有自己的屬性和狀態(tài)
  • Request : 一次 Request 中一個(gè)實(shí)例
  • Session
  • Global Session

生命周期

  • 實(shí)例化
  • IOC 依賴注入
  • setBeanName
  • BeanFactoryAware
  • ApplicationContentAware
  • 接口實(shí)現(xiàn)-初始化預(yù)處理
  • 初始化方法
  • postProcessAfterInitialization
  • 過期自動(dòng)清理/自動(dòng)配置清理

到此這篇關(guān)于SpringIOC控制反轉(zhuǎn)的原理詳解的文章就介紹到這了,更多相關(guān)SpringIOC控制反轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 劍指Offer之Java算法習(xí)題精講數(shù)組與字符串

    劍指Offer之Java算法習(xí)題精講數(shù)組與字符串

    跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • Java 如何快速,優(yōu)雅的實(shí)現(xiàn)導(dǎo)出Excel

    Java 如何快速,優(yōu)雅的實(shí)現(xiàn)導(dǎo)出Excel

    這篇文章主要介紹了Java 如何快速,優(yōu)雅的實(shí)現(xiàn)導(dǎo)出Excel,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • 使用idea創(chuàng)建web框架和配置struts的方法詳解

    使用idea創(chuàng)建web框架和配置struts的方法詳解

    這篇文章主要介紹了使用idea創(chuàng)建web框架和配置struts的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 基于Comparator對象集合實(shí)現(xiàn)多個(gè)條件按照優(yōu)先級的比較

    基于Comparator對象集合實(shí)現(xiàn)多個(gè)條件按照優(yōu)先級的比較

    這篇文章主要介紹了基于Comparator對象集合實(shí)現(xiàn)多個(gè)條件按照優(yōu)先級的比較,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java基于自定義類加載器實(shí)現(xiàn)熱部署過程解析

    Java基于自定義類加載器實(shí)現(xiàn)熱部署過程解析

    這篇文章主要介紹了Java基于自定義類加載器實(shí)現(xiàn)熱部署過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    這篇文章主要介紹了JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 解析Java實(shí)現(xiàn)隨機(jī)驗(yàn)證碼功能的方法詳解

    解析Java實(shí)現(xiàn)隨機(jī)驗(yàn)證碼功能的方法詳解

    本篇文章是對Java實(shí)現(xiàn)隨機(jī)驗(yàn)證碼功能的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • MyBatis 中 SqlMapConfig 配置文件詳解

    MyBatis 中 SqlMapConfig 配置文件詳解

    這篇文章主要介紹了MyBatis 中 SqlMapConfig 配置文件詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java超詳細(xì)講解類的繼承

    Java超詳細(xì)講解類的繼承

    繼承就是可以直接使用前輩的屬性和方法。自然界如果沒有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個(gè)接口,使用不同的實(shí)例而執(zhí)行不同操作
    2022-04-04
  • java實(shí)現(xiàn)字符與Unicode碼轉(zhuǎn)換(附源碼)

    java實(shí)現(xiàn)字符與Unicode碼轉(zhuǎn)換(附源碼)

    在 Java 開發(fā)中,經(jīng)常需要在字符(char 或 String)與其對應(yīng)的Unicode 碼點(diǎn)(int)之間進(jìn)行相互轉(zhuǎn)換,下面小編就來和大家詳細(xì)介紹一下具體實(shí)現(xiàn)方法吧
    2025-07-07

最新評論

社旗县| 朝阳市| 建德市| 平陆县| 新田县| 都江堰市| 缙云县| 公安县| 石嘴山市| 临夏市| 容城县| 陇西县| 新昌县| 余庆县| 新乐市| 武陟县| 敖汉旗| 金沙县| 广河县| 扎赉特旗| 芦山县| 进贤县| 新丰县| 富川| 宁城县| 安吉县| 确山县| 三都| 赞皇县| 利津县| 和田县| 南和县| 绥芬河市| 佛山市| 渝北区| 益阳市| 揭西县| 北海市| 四会市| 英山县| 尚志市|