ioc即控制反轉,意思是將本來該又呼叫者自己建立的物件,交由spring去建立。
di即依賴注入,意思是,物件之中包含的屬性有物件的,那麼會在spring中尋找到匹配的物件並賦值給它。
ioc和di含義相同,只是同一概念兩種角度的描述。
1.匯入相應的基礎jar包,包括四個核心jar包,和乙個第三方依賴包。
2.建立乙個.xml的配置檔案。
這個檔案有固定的格式結構:
<?xml version="1.0" encoding="utf-8"?>
xmlns
=""xmlns:xsi
=""xsi:schemalocation
="/spring-beans.xsd"
>
beans
>
這些約束資訊會根據你的使用不同而不同,比如說如果你需要使用spring中的aop功能,那麼還需要新增上,如
xmlns:aop="
......
等等,更多的約束資訊。
的子元素
用來建立和配置物件。
如:
"userdao"
class
="com.laiker.userdao"
>
bean
>
這樣在載入spring容器的時候,userdao就會建立出乙個例項,放到容器當中。
建立bean
也可以通過類的方法的返回值來建立,在元素的屬性中有乙個屬性
factory-method
。
"userdao"
class
="com.laiker.use***ctory"
factory-method
="getuserdao"
>
bean
>
這是靜態工廠方式來例項化,同樣也可以通過例項工廠來例項化。
"use***ctory"
class
="com.laiker.use***ctory"
>
bean
>
"userdao"
factory-bean
="use***ctory"
factory-method
="getuserdao"
>
bean
>
3.獲得物件
public
static
void
main
(string[
] args)
針對bean的建立和初始化,spring如下的註解:
使用註解裝配
在類上使用@component,或者@repository,@service,@controller將類宣告為bean,並新增名稱。
為需要注入的屬性新增@autowired,或@resource 如:
@service
("userservice"
)public
class
userservice
配置檔案:
...
<
context:annotation-config
/>
<
context:component-scan
base-package
="com.laiker"
/>
...
Spring學習筆記之IOC和DI 概述
ioc inversion of control 其思想是反轉資源獲取的方向.傳統的資源查詢方式要求元件向容器發起請求查詢資源.作為回應,容器適時的返回資源.而應用了 ioc 之後,則是容器主動地將資源推送給它所管理的元件,元件所要做的僅是選擇一種合適的方式來接受資源.這種行為也被稱為查詢的被動形式...
Spring學習筆記(一) IoC之DI
spring的乙個核心概念就是ioc,所謂ioc,即inversion of control,中文譯為控制反轉。其核心思想即高層模組要依賴於抽象,而不是依賴於底層模組,換句話說,也就是實現必需依賴於抽象,而不是抽象依賴於實現。這裡所說的高層模組是指與業務相聯絡的模組。而低層模組是指與底層實現相聯絡的...
Spring之到底什麼是IOC和DI?
什麼是ioc容器?ioc全名 inversion of control,翻譯過來就是控制反轉。什麼是控制反轉?這個是物件導向的一種設計原則,可以用來減低計算機 之間的耦合度 模組及模組之間資訊或引數依賴的程度 其中最常見的方式叫做依賴注入 依賴注入就是把本來應該在程式中有的依賴在外部注入到程式之中 ...