国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring框架核心與設(shè)計(jì)思想

這篇具有很好參考價(jià)值的文章主要介紹了Spring框架核心與設(shè)計(jì)思想。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Spring框架核心與設(shè)計(jì)思想

一、Spring是什么?

我們一般所說(shuō)的Spring指的是Spring Framework(Spring 框架),它是一個(gè)開(kāi)源的框架,Spring支持廣泛的應(yīng)用場(chǎng)景,它可以讓Java企業(yè)級(jí)的應(yīng)用程序開(kāi)發(fā)變得更簡(jiǎn)單,官方一點(diǎn)的回答:spring是J2EE應(yīng)用程序框架,是輕量級(jí)的IoC和AOP的容器框架,主要是針對(duì)javaBean的生命周期進(jìn)行管理的輕量級(jí)容器,可以單獨(dú)使用,也可以和Struts框架,mybatis框架等組合使用。
Spring框架核心與設(shè)計(jì)思想
上述是官方的回答,可以用一句話概括Spring:Spring是包含眾多工具方法的IoC容器

二、什么是IoC容器?

容器是什么?
容器是可以用來(lái)存取某種物品的裝置,我們之前學(xué)過(guò)一些容器:List/Stack/Map(數(shù)據(jù)存儲(chǔ)容器),Tomcat(Web容器)

什么是IOC?

Spring也是一個(gè)容器,那么Spring是什么容器呢? Spring是一個(gè)IoC容器 ,那么我們首先得弄清楚什么是IoC了?
IoC(Inversion of Control):IoC是一種思想,控制反轉(zhuǎn),也就是說(shuō)Spring是一個(gè)控制反轉(zhuǎn)的容器。
Spring框架核心與設(shè)計(jì)思想
比如我們的A依賴B,于是我們需要在A中去new B對(duì)象,此時(shí)我們的A控制著B的生命周期,也可以說(shuō)A控制著B,這樣的耦合性過(guò)高,IoC的思想就是將這個(gè)控制權(quán)交給其他人,至于其他人是誰(shuí)我不管,當(dāng)我需要B時(shí)傳給我即可。
我們現(xiàn)在有這樣一個(gè)需求,構(gòu)建一輛車(Car),而車依賴于車身(FrameWork),車身需要依賴地盤(Bottom),地盤需要依賴于輪胎(Tire)
Spring框架核心與設(shè)計(jì)思想
這樣的代碼有什么問(wèn)題呢? 層層依賴,上述程序中我們輪轂大小是寫死的,如果我需要加工不同的輪轂,我們不僅需要對(duì)Tire進(jìn)行修改,因?yàn)锽ottom依賴Tire所以Bootom也需要修改,F(xiàn)rameWork依賴于Bootom所以FrameWork也需要修改,Car依賴于FrameWork所以Car也需要修改。
Spring框架核心與設(shè)計(jì)思想

我們可以看出來(lái),這種模式的代碼當(dāng)最底層的代碼改動(dòng)之后,整個(gè)調(diào)用鏈上的所有代碼都需要修改。
我們只需要將原來(lái)由自己創(chuàng)建下級(jí)類,改為傳遞的方式(注入),因?yàn)槲覀儾恍枰约喝?chuàng)建下級(jí)類了,所以即使下級(jí)類發(fā)生了變化,當(dāng)前類也不需要修改,這樣程序就能進(jìn)行解耦
Spring框架核心與設(shè)計(jì)思想Spring框架核心與設(shè)計(jì)思想
代碼經(jīng)過(guò)以上調(diào)整,無(wú)論底層類如何變化,整個(gè)調(diào)用鏈?zhǔn)遣挥米鋈魏胃淖兊模@樣就完成了代碼之間的解耦,從而實(shí)現(xiàn)了更加靈活、通用的程序設(shè)計(jì)了。

傳統(tǒng)與改進(jìn)之間的對(duì)比:
在傳統(tǒng)的代碼中對(duì)象創(chuàng)建順序是:Car -> Framework -> Bottom -> Tire
改進(jìn)之后解耦的代碼的對(duì)象創(chuàng)建順序是:Tire -> Bottom -> Framework -> Car
Spring框架核心與設(shè)計(jì)思想
我們可以發(fā)現(xiàn),傳統(tǒng)的代碼類創(chuàng)建順序是反著的,Car控制FrameWork,F(xiàn)rameWork控制著Bottom,Bottom控制著Tire。而改進(jìn)之后的控制器發(fā)生了反轉(zhuǎn),是下層將對(duì)象注入到當(dāng)前類中,下級(jí)的控制權(quán)不再由上級(jí)控制了,下級(jí)在發(fā)生改變時(shí)上次時(shí)不受影響的,這就是IoC的實(shí)現(xiàn)思想

Spring IoC

Spring是一個(gè)包含眾多工具方法的IoC容器,它具備兩個(gè)最基礎(chǔ)的功能:
1.將對(duì)象存入到容器(將對(duì)象存入到Spring)
2.從容器中取出對(duì)象(從Spring中獲取對(duì)象)

將對(duì)象存放到容器有什么好處呢?
將容易存儲(chǔ)到IoC容器相當(dāng)于我們將所有可能用到的工具制作好都放到倉(cāng)庫(kù),當(dāng)我們需要時(shí)直接取即可,用完歸還倉(cāng)庫(kù)。new對(duì)象的方式相當(dāng)于我們每次需要用工具的時(shí)候現(xiàn)場(chǎng)制作,制作完了扔掉,下次需要的時(shí)候重新做。

Spring是一個(gè)IoC容器,說(shuō)的是對(duì)象的創(chuàng)建和銷毀的權(quán)力都交給了Spring來(lái)管理,本身又具有存儲(chǔ)對(duì)象和獲取對(duì)象的能力
優(yōu)點(diǎn):
1.解耦
2.使用更加方便(不用手動(dòng)去new和關(guān)注對(duì)象的依賴關(guān)系)
3.更加高效

三、DI

DI(Dependency Injection):依賴注入,IoC運(yùn)行期間,動(dòng)態(tài)的將關(guān)系注入到對(duì)象之中。
傳統(tǒng)方式(手動(dòng)new):
Spring框架核心與設(shè)計(jì)思想
依賴注入:
Spring框架核心與設(shè)計(jì)思想
這里大家還沒(méi)有學(xué)注解不用關(guān)系,只需要知道是IoC容器主動(dòng)將依賴B注入到對(duì)象A中。

IoC(控制反轉(zhuǎn)) 和 DI(依賴注入)是從不同的角度去描述同一件事情,IoC是一種思想,而DI是具體的實(shí)現(xiàn)技術(shù)

總結(jié)

Spring是什么?
Spring是包含眾多工具方法的IoC容器

Spring最核心的功能是什么?
Spring既然是一個(gè)IoC容器,那么它有兩個(gè)主要的功能:
1.將Bean對(duì)象存儲(chǔ)到Spring容器
2.從Spring容器中獲取Bean對(duì)象

IoC和DI是什么?有什么區(qū)別?
Ioc(Inversion of Control),把創(chuàng)建對(duì)象的權(quán)利交給容器,對(duì)象的實(shí)例不再由調(diào)用者來(lái)創(chuàng)建,而是由容器來(lái)創(chuàng)建,容器會(huì)負(fù)責(zé)控制程序之間的關(guān)系,而不是由調(diào)用者的程序代碼直接控制。這樣,控制權(quán)由應(yīng)用代碼轉(zhuǎn)移帶了容器,控制權(quán)發(fā)生了反轉(zhuǎn),這就是控制反轉(zhuǎn)。它是spring框架的核心思想之一。
DI(Dependency Injection),當(dāng)某個(gè)java 實(shí)例需要另一個(gè)java實(shí)例時(shí),創(chuàng)建被調(diào)用者的工作不是由調(diào)用者實(shí)現(xiàn),而是由spring容器來(lái)完成,然后注入調(diào)用者,因此稱為依賴注入。

區(qū)別:
IoC(控制反轉(zhuǎn)) 和 DI(依賴注入)是從不同的角度去描述同一件事情,IoC是一種思想,而DI是具體的實(shí)現(xiàn)技術(shù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-414622.html

到了這里,關(guān)于Spring框架核心與設(shè)計(jì)思想的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring 核心與設(shè)計(jì)思想

    ??作者:銀河罐頭 ??系列專欄:JavaEE ?? “種一棵樹最好的時(shí)間是十年前,其次是現(xiàn)在” 通常所說(shuō)的 Spring 指的是 Spring Framework(Spring 框架)。 Spring 是包含多種工具方法的 IoC 容器。 IoC(Inversion of Control): 控制反轉(zhuǎn) \\\"控制反轉(zhuǎn)\\\"又是什么意思? 下面以一個(gè)程序來(lái)舉例。 假如我

    2024年02月02日
    瀏覽(22)
  • 【Spring】(一)Spring設(shè)計(jì)核心思想

    【Spring】(一)Spring設(shè)計(jì)核心思想

    Spring 是一個(gè)開(kāi)源的輕量級(jí) Java 框架,旨在簡(jiǎn)化 Java 應(yīng)用程序的開(kāi)發(fā)。它提供了一個(gè)全面的編程和配置模型,用于構(gòu)建各種類型的應(yīng)用,包括企業(yè)級(jí)應(yīng)用和獨(dú)立的 Java 應(yīng)用。 Spring 的設(shè)計(jì)理念是基于依賴注入(Dependency Injection)和面向切面編程(Aspect-Oriented Programming),使得應(yīng)

    2024年02月14日
    瀏覽(23)
  • 【Spring】學(xué)習(xí)Spring需要掌握的核心設(shè)計(jì)思想

    【Spring】學(xué)習(xí)Spring需要掌握的核心設(shè)計(jì)思想

    目錄 一、Spring是什么 二、什么是IoC容器 1、什么是容器 2、什么是IoC? ?3、Spring IoC 4、DI(依賴注入) 4.1、IoC和DI的區(qū)別 5、 DL(依賴查找) 我們通常所說(shuō)的Spring指的是Spring Framework(Framework的意思就是框架),它是一個(gè)開(kāi)源的框架,有著龐大的社區(qū),這就是它之所以能長(zhǎng)久不

    2024年02月14日
    瀏覽(31)
  • 【JavaEE進(jìn)階】Spring核心與設(shè)計(jì)思想

    【JavaEE進(jìn)階】Spring核心與設(shè)計(jì)思想

    我們通常所說(shuō)的 Spring 指的是 Spring Framework (Spring 框架),它是一個(gè)輕量級(jí)的 Java 開(kāi)源框架,有著活躍龐?的社區(qū)。Spring 是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的,不僅?持?泛的應(yīng)?場(chǎng)景,還讓 Java 企業(yè)級(jí)的應(yīng)?程序開(kāi)發(fā)更加簡(jiǎn)單。 如何簡(jiǎn)單地使??句話概括 Spring:

    2024年02月13日
    瀏覽(33)
  • 【JavaEE進(jìn)階】——第二節(jié).Spring核心和設(shè)計(jì)思想

    【JavaEE進(jìn)階】——第二節(jié).Spring核心和設(shè)計(jì)思想

    文章目錄 前言 一、Spring是什么? 二、什么是容器? 三、什么是IoC? 3.1 初始loC 3.2 舉例解釋loC 3.3?Spring IoC思想的體現(xiàn) 四、什么是DI? 4.1DI的概念 4.2?Ioc和DI的區(qū)別 總結(jié) 今天我們將進(jìn)入到有關(guān)spring的認(rèn)識(shí)當(dāng)中,要使用它的前提就是要認(rèn)識(shí)并熟悉它,上一節(jié)我們介紹了有關(guān)mave

    2023年04月18日
    瀏覽(26)
  • 【開(kāi)源與項(xiàng)目實(shí)戰(zhàn):開(kāi)源實(shí)戰(zhàn)】84 | 開(kāi)源實(shí)戰(zhàn)四(上):剖析Spring框架中蘊(yùn)含的經(jīng)典設(shè)計(jì)思想或原則

    【開(kāi)源與項(xiàng)目實(shí)戰(zhàn):開(kāi)源實(shí)戰(zhàn)】84 | 開(kāi)源實(shí)戰(zhàn)四(上):剖析Spring框架中蘊(yùn)含的經(jīng)典設(shè)計(jì)思想或原則

    在 Java 世界里,Spring 框架已經(jīng)幾乎成為項(xiàng)目開(kāi)發(fā)的必備框架。作為如此優(yōu)秀和受歡迎的開(kāi)源項(xiàng)目,它是我們?cè)创a閱讀的首選材料之一,不管是設(shè)計(jì)思想,還是代碼實(shí)現(xiàn),都有很多值得我們學(xué)習(xí)的地方。接下來(lái),我們就詳細(xì)講講 Spring 框架中蘊(yùn)含的設(shè)計(jì)思想、原則和模式。因?yàn)?/p>

    2024年02月12日
    瀏覽(14)
  • 敏捷設(shè)計(jì)的的4個(gè)核心思想

    來(lái)自《互聯(lián)網(wǎng)產(chǎn)品之美》。 4個(gè)核心思想 1、強(qiáng)調(diào)面對(duì)面的溝通,也就是說(shuō)溝通很重要,任何人的相互交流勝于任何流程和工具; 2、要把精力集中在可執(zhí)行的程序上,可以運(yùn)行的產(chǎn)品勝于綜合性文檔,也就是強(qiáng)調(diào)了原型、模型、演示等的重要性; 3、團(tuán)隊(duì)合作和團(tuán)隊(duì)激勵(lì),合

    2024年02月09日
    瀏覽(22)
  • 【JavaEE進(jìn)階】 Spring核?與設(shè)計(jì)思想

    【JavaEE進(jìn)階】 Spring核?與設(shè)計(jì)思想

    我們通常所說(shuō)的 Spring 指的是 Spring Framework(Spring 框架),它是?個(gè)開(kāi)源框架,有著活躍?龐?的社區(qū),這就是它之所以能?久不衰的原因。Spring ?持?泛的應(yīng)?場(chǎng)景,它可以讓 Java 企業(yè)級(jí)的應(yīng)?程序開(kāi)發(fā)起來(lái)更簡(jiǎn)單。 ??句話概括 Spring: Spring 是包含了眾多?具?法的 I

    2024年02月04日
    瀏覽(25)
  • 一文帶你了解QT Model/View框架的設(shè)計(jì)思想和實(shí)現(xiàn)機(jī)制

    一文帶你了解QT Model/View框架的設(shè)計(jì)思想和實(shí)現(xiàn)機(jī)制

    目錄 1、QT Model/View框架簡(jiǎn)介 1.1、QT Model/View是什么? 1.2、QT Model/View框架核心思想 1.3、Model/View框架工作機(jī)制 1.4、Model/View框架的類 2、Model 2.1模型簡(jiǎn)介 2.2、模型索引 2.3、數(shù)據(jù)角色 2.4、QStringListModel 2.5、QFileSystemModel 2.6、QSortFilterProxyModel 3、View 4、Delegate 5、項(xiàng)選擇模型 5.1、QIt

    2024年02月05日
    瀏覽(89)
  • 二十四種設(shè)計(jì)模式與六大設(shè)計(jì)原則(三):【裝飾模式、迭代器模式、組合模式、觀察者模式、責(zé)任鏈模式、訪問(wèn)者模式】的定義、舉例說(shuō)明、核心思想、適用場(chǎng)景和優(yōu)缺點(diǎn)

    二十四種設(shè)計(jì)模式與六大設(shè)計(jì)原則(三):【裝飾模式、迭代器模式、組合模式、觀察者模式、責(zé)任鏈模式、訪問(wèn)者模式】的定義、舉例說(shuō)明、核心思想、適用場(chǎng)景和優(yōu)缺點(diǎn)

    接上次博客:二十四種設(shè)計(jì)模式與六大設(shè)計(jì)原則(二):【門面模式、適配器模式、模板方法模式、建造者模式、橋梁模式、命令模式】的定義、舉例說(shuō)明、核心思想、適用場(chǎng)景和優(yōu)缺點(diǎn)-CSDN博客 目錄 裝飾模式【Decorator Pattern】 定義 舉例說(shuō)明 核心思想 適用場(chǎng)景 優(yōu)缺點(diǎn) 迭代

    2024年04月17日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包