Spring的IOC和工廠模式的區別

2022-09-12 06:36:15 字數 904 閱讀 1522

ioc是使用了反射的技術來動態的生成物件

工廠模式的物件生成是提前在工廠類中定死的

ioc更加靈活

ioc——inversion of control 控制反轉

di——dependency injection 依賴注入

1:如何理解ioc/di

要想理解上面兩個概念,就必須搞清楚如下的問題:

下面就來簡要的回答一下上述問題,把這些問題搞明白了,ioc/di也就明白了。

(1)參與者都有誰:

一般有三方參與者,乙個是某個物件;乙個是ioc/di的容器;另乙個是某個物件的外部資源。

又要名詞解釋一下,某個物件指的就是任意的、普通的j**a物件; ioc/di的容器簡單點說就是指用來實現ioc/di功能的乙個框架程式;物件的外部資源指的就是物件需要的,但是是從物件外部獲取的,都統稱資源,比如:物件需要的其它物件、或者是物件需要的檔案資源等等。

(2)誰依賴於誰:

當然是某個物件依賴於ioc/di的容器

(3)為什麼需要依賴:

物件需要ioc/di的容器來提供物件需要的外部資源

(4)誰注入於誰:

很明顯是ioc/di的容器 注入 某個物件

(5)到底注入什麼:

就是注入某個物件所需要的外部資源

(6)誰控制誰:

當然是ioc/di的容器來控制物件了

(7)控制什麼:

主要是控制物件例項的建立

(8)為何叫反**

反轉是相對於正向而言的,那麼什麼算是正向的呢?考慮一下常規情況下的應用程式,如果要在a裡面使用c,你會怎麼做呢?當然是直接去建立c的物件,也就是說,是在a類中主動去獲取所需要的外部資源c,這種情況被稱為正向的。那麼什麼是反向呢?就是a類不再主動去獲取c,而是被動等待,等待ioc/di的容器獲取乙個c的例項,然後反向的注入到a類中。

Spring的IOC容器簡單介紹 工廠模式解耦

spring中有乙個重要的元件,ioc容器。ioc就是 inverse of control 控制反轉。我們在程式中經常去呼叫別的物件,這個時候就會對呼叫的物件產生依賴,我們程式的耦合性就會變高。程式的耦合大致分為類與類之間的依賴,方法與方法之間的依賴。這裡拿類與類之間的依賴為例,我們在a類中需要b...

5 IOC工廠模式

定位資源 resource resource new filesystemresource new file src main resources conf spring mybatis.xml beanfactory beanfactory new xmlbeanfactory resource ...

Spring的IOC和AOP原理

對spring的理解 spring是乙個輕型容器,其核心是bean工廠,用以構造我們所需的model。ioc 依賴注入,又叫控制反轉。利用了工廠模式 ioc中將物件交給容器管理,你只需要在spring配置檔案中配置對應的bean以及相關的屬性即可,讓spring容器來生成類的例項物件以及管理物件,當...