Spring 的 IOC 和 AOP 是什麼?

發布 科技 2024-02-26
10個回答
  1. 匿名使用者2024-02-06

    樓上的那個人說了這個概念。 我會說更多。

    IOC 是乙個容器,建立的所有內容都是在容器中建立的。 你可以把這個東西想象成乙個工廠模型。

    AOP 是乙個方面。 你可以理解,這個東西面對的是乙個方法,比如說,乙個方法就是乙個讀取資料庫的方法,然後在方法執行的各個時刻,在之後,在執行之後,圍繞這些時刻去做一些事情,比如說,在閱讀之前我列印一行我準備閱讀的日誌,在列印一行我讀完之後, 當我列印錯誤以列印日誌時。當然,你也可以做其他事情,比如呼叫其他方法。

    這幾乎就是你理解它的方式。

  2. 匿名使用者2024-02-05

    IOC是反向控制。

    AOP 用於面向部分的程式設計。

  3. 匿名使用者2024-02-04

    IOC:控制反轉也稱為依賴注入。 使用了工廠模型。

    要將物件移交給容器管理,只需要在 spring 配置檔案中配置對應的 bean,並設定相關屬性,這樣 spring 容器就可以生成類的例項物件並管理物件。 當 Spring 容器啟動時,Spring 會初始化你在配置檔案中配置的所有 bean,然後在需要呼叫它們的時候,將初始化的 bean 分配給需要呼叫這些 bean 的類(假設類名是 A),分配的方法是呼叫 A 的 setter 方法注入它們, 而無需在 A 中更新這些 bean。

    注意:在面試過程中,如果你有條件,可以畫一張圖,這樣你就可以更明顯地表達你的理解。

    AOP:分面程式設計。 (aspect-oriented programming)

    AOP可以說是對OOP的補充和改進。 OOP 引入了封裝、繼承和多型性等概念,以建立物件層次結構,以模擬公共行為的集合。 當我們需要為分散的物件引入公共行為時,OOP是無能為力的。

    也就是說,OOP 允許您定義從上到下的關係,但不適合定義從左到右的關係。 例如,日誌記錄功能。 日誌往往水平分布在所有物件層次結構中,而不管它傳播到的物件的核心功能如何。

    在OOP設計中,它會導致大量的重複,不利於單個模組的復用。

    將程式中橫切的業務邏輯(如安全、日誌、事務等)封裝到乙個切片中,並注入到目標物件(特定業務邏輯)中。

    實現AOP的技術主要分為兩大類:一類是利用動態技術,利用擷取訊息的方式對訊息進行修飾,以取代原有物件行為的執行; 第二種是利用靜態編織方法,引入特定的語法來建立“方面”,以便編譯器在編譯時可以編織相關的“方面”。

    簡單地解釋一下,假設你想新增乙個函式來列印 'hello' 到 biz 層中的所有類,你可以用 aop 的想法來做到這一點,你首先編寫乙個類並編寫乙個方法,然後實現該方法來列印 'hello' 並讓你 ioc 這個類引用 “biz.”。*“讓每個類都注入。

  4. 匿名使用者2024-02-03

    Spring 的 IOC 容器是 Spring 的核心,Spring AOP 是 Spring 框架的重要組成部分。

    在傳統程式設計中,當呼叫方需要被呼叫方的幫助時,通常是呼叫方建立被呼叫方的例項。 但是,在 Spring 中建立被呼叫方的工作不再由呼叫方完成,因此控制反轉 (IOC); 建立被呼叫方例項的工作通常是由spring容器完成的,然後注入到呼叫方中,因此也稱為依賴注入(DI),依賴注入和控制反轉是同乙個概念。

    面向方面的程式設計(AOP)是通過分析程式結構的關注點,從另乙個角度考慮程式結構,並提煉物件導向程式設計(OOP)。 OOP 將應用程式分解為物件層,而 AOP 將程式分解為多個切片。 Spring AOP 僅實現方法級連線點,在 J2EE 應用程式中,AOP 充分截獲方法級操作。

    在 Spring 中,為了讓 IOC 在未來能夠輕鬆使用強大而靈活的企業服務,需要利用 Spring AOP 在 IOC 和企業服務之間建立聯絡。

  5. 匿名使用者2024-02-02

    我給你乙個權威的,你回答這個基本上不問。

    IOC(反轉控制):對成員變數分配的控制從 ** 反向到配置檔案。

    AOP:面向方面程式設計,面向部分程式設計。

    差不多就到此為止了,然後是Spring的事務處理,基本上就是這樣了。

  6. 匿名使用者2024-02-01

    字面上的理解和答案可以使自己說得清楚,聽者也能聽得很清楚。 國際奧委會控制權逆轉是一種運作方式,或者說是思想的概括,誰控制誰? 為什麼會顛倒過來?

    通過使用 spring,可以知道 spring 容器控制著所有的 bean,在 spring 之前,乙個 Bean 依賴於另乙個 bean,並初始化了這個 Bean 中的另乙個 Bean 來使用另乙個 bean,而這個 Bean 正在控制另乙個 bean。 現在,彈簧容器控制所有豆子,並將另一顆豆子注入豆子中。 反**

    讓我們先了解一下 facets,我們所說的 facet 是什麼? 我們在哪裡剪臉?

    當然,我們談論的是方法的各個方面,那麼方法的方面是什麼呢? 學習之後,我們可以在方法的前面、後面和中間。 * 這有點籠統。

    具體來說,在呼叫方法之前,在返回方法之後,在返回方法之前,呼叫方法異常時等等,可以在這些地方插入自己的相關內容,而這些內容都是分面。 接下來,我們如何干預這些事情? 動態的,無論是對於介面還是生成它的子類,這些技術都是為了解決如何插入切片的問題,你還有別的辦法來解決如何插入切片的問題嗎?

    Spring解決了這個問題,我們要做的就是寫切片,配置切片的入口點,切片型別等等,......

  7. 匿名使用者2024-01-31

    設計模式:動態的應用。

  8. 匿名使用者2024-01-30

    很多,事務,許可權,日誌都可以使用。

  9. 匿名使用者2024-01-29

    這難道不是您現在新增交易功能時所需要的嗎?

  10. 匿名使用者2024-01-28

    是否要使用它必須由公司決定! 有些公司使用它,有些公司不使用它! 更少的使用意味著大多數公司仍然無用。

相關回答
15個回答2024-02-26

南朝(即宋、齊、梁、陳)的都城在建康(今南京)宋:420-479 劉玉建康。 >>>More

3個回答2024-02-26

在這段時間裡,身體和感情都應該得到精心呵護。

47個回答2024-02-26

廢話!! 我有短髮和短眼睛,我還有好朋友 >>>More

19個回答2024-02-26

如果你男朋友的行為給你帶來了很多痛苦,那麼你就告訴他! >>>More

17個回答2024-02-26

2005年《終極班》 2006年《花樣少年》 2007年《終極家庭》 2010年《陽光天使》 2005年《惡作劇之吻》。