AI與DI區(qū)別 面試題:Spring中IOC和DI的含義。應該怎么答?
面試題:Spring中IOC和DI的含義。應該怎么答?IOC是控制翻轉或依賴注入。一般來說,如果您需要某個對象,您不需要通過new生成您需要的對象,但是您需要通過spring的bean工廠為您生成這樣
面試題:Spring中IOC和DI的含義。應該怎么答?
IOC是控制翻轉或依賴注入。一般來說,如果您需要某個對象,您不需要通過new生成您需要的對象,但是您需要通過spring的bean工廠為您生成這樣一個對象。AOP是面向方面的編程。例如,每次執(zhí)行數據庫操作時,都必須生成日志。如果您有許多數據庫操作類,那么應該為每個類中的日志編寫方法。但是如果使用AOP,就可以編寫一個方法。在這個方法中,有關于數據庫操作的方法。每次調用此方法時,都會添加生成日志的操作。不太清楚。你可以通過多寫多讀來理解它。它是由依賴注入(di)實現(xiàn)的。例如,對象a需要操作數據庫。在過去,我們總是要在一個數據庫中編寫自己的代碼來獲取連接對象。對于spring,我們只需要告訴spring在a中需要一個連接。至于如何以及何時構造連接,a不需要知道。當系統(tǒng)運行時,spring會在適當的時候創(chuàng)建一個連接,然后像注入一樣注入到一個對象中,從而完成對各個對象之間關系的控制。A需要依靠連接才能正常運行,而此連接是通過彈簧注入A的。這就是依賴注入的名字。
什么是IOC?
IOC,即控制反轉(inversionofcontrol,IOC),是減少計算機程序耦合的一個重要的面向對象編程原理,也是輕量級spring框架的核心。有兩種類型的控制反轉:依賴注入(DI)和依賴查找。IOC的優(yōu)點:實現(xiàn)了組件間的解耦,提高了程序的靈活性和可維護性。國際奧委會的缺點:1。創(chuàng)建對象的步驟變得復雜而不直觀。當然,這是為那些不習慣這種方法的人準備的。
2. 因為反射被用來創(chuàng)建對象,所以會損失效率。但與程序的靈活性和可維護性相比,這種損失可以忽略不計。
3. 沒有ide重構支持。如果修改類名,則需要在XML文件中手動修改。這似乎是所有XML方法的缺點。IOC的應用:IOC模式從程序中刪除耦合代碼,并將其放入統(tǒng)一的XML文件中進行管理。IOC容器通過配置文件管理對象的生命周期和依賴關系,不需要修改和編譯特定的代碼,實現(xiàn)組件間的解耦。
什么是IoC?
IOC,即控制反轉,描述如下。
1. 定義:控制反轉(inversionofcontrol,IOC)賦予框架創(chuàng)建對象的權利,這是框架的一個重要特性,而不是面向對象編程的專用術語。它包括依賴注入(DI)和依賴查找。
2. IOC的最大優(yōu)點是它定義了XML中對象的生成,因此當我們需要更改實現(xiàn)子類時,它將非常簡單(通常,這類對象是在某些接口上實現(xiàn)的)。我們只需要修改XML,這樣我們甚至可以實現(xiàn)對象的熱交換(有點像USB接口和SCSI硬盤)。
3. IOC的最大缺點如下:
(1)生成對象的步驟變得更加復雜(實際上,操作非常簡單)。對于那些不習慣這種方法的人來說,他們會覺得有點尷尬和不直觀。(2) 對象生成采用反射編程,在效率上有一定的損失。然而,與改進的IOC的可維護性和靈活性相比,這種損失可以忽略不計,除非對象的生成需要高效率。(3) 沒有ide重構支持。如果要在eclipse中重命名類,需要在XML文件中手動重命名。這似乎是所有XML方法的缺陷。