spring學習之 IOC和DI

2021-09-29 20:43:58 字數 1951 閱讀 8330

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,翻譯過來就是控制反轉。什麼是控制反轉?這個是物件導向的一種設計原則,可以用來減低計算機 之間的耦合度 模組及模組之間資訊或引數依賴的程度 其中最常見的方式叫做依賴注入 依賴注入就是把本來應該在程式中有的依賴在外部注入到程式之中 ...