Spring框架學習之IOC 二

2021-07-10 07:49:21 字數 2626 閱讀 8827

spring框架學習之ioc(二)

接著昨天的內容,下面開始ioc基於註解裝配相關的內容

在 classpath 中掃瞄元件

特定元件包括:

–@component: 基本註解, 標識了乙個受 spring 管理的元件

–@respository: 標識持久層元件

–@service: 標識服務層(業務層)元件

–@controller: 標識表現層元件

對於掃瞄到的元件, spring 有預設的命名策略: 使用非限定類名, 第乙個字母小寫. 也可以在註解中通過 value 屬性值標識元件的名稱

用乙個簡單的**演示一下

1

package

per.zww.spring.beans.annotation;23

import

org.springframework.stereotype.component;45

@component

6public

class

testobject

10 }

1

package

per.zww.spring.beans.annotation.respository;23

import

org.springframework.stereotype.repository;45

@repository("userrepository")

6public

class

userrepository

10 }

xml:

<

context:component-scan

base-package

="per.zww.spring.beans.annotation.*"

>

context:component-scan

>

測試:

package

per.zww.spring.beans.annotation;

import

import

public

class

main

}

另外我們可以過濾掉一些類:

–子節點表示要包含的目標類

–子節點表示要排除在外的目標類

元件裝配:bean屬性的依賴

元素還會自動註冊 autowiredannotationbeanpostprocessor 例項, 該例項可以自動裝配具有 @autowired 和 @resource 、@inject註解的屬性.

當 ioc 容器裡存在多個型別相容的 bean 時, 通過型別的自動裝配將無法工作. 此時可以在 @qualifier 註解裡提供 bean 的名稱. spring 允許對方法的入參標註 @qualifiter 已指定注入 bean 的名稱

用**來演示一下元件裝配

package

per.zww.spring.beans.annotation.service;

public

inte***ce

userservice

package

per.zww.spring.beans.annotation.service;

import

org.springframework.stereotype.service;

@service("userservice")

public

class userserviceimp implements

userservice

}

package per.zww.spring.beans.annotation.controller;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.beans.factory.annotation.qualifier;

import org.springframework.stereotype.controller;

import per.zww.spring.beans.annotation.service.userservice;

@controller

public class usercontroller

}

測試:

package

per.zww.spring.beans.annotation;

import

import

import

per.zww.spring.beans.annotation.controller.usercontroller;

import

per.zww.spring.beans.annotation.service.userservice;

public

class

main

}

spring 還支援 @resource 和 @inject 註解,這兩個註解和 @autowired 註解的功用類似,但推薦使用@autowired註解。

spring框架Ioc學習

理解 1 在ioc沒有出現之前,如果物件a需要依賴物件b,那麼在a初始化或執行到某乙個點的時候,需要去建立或者呼叫已經建立的物件b.不管是建立還是直接呼叫,控制權都在自己手裡.2 ioc出現之後,如果物件a需要依賴物件b,這是會有乙個容器來管理這種需求,將物件b注入到物件a中,這樣乙個容器我們稱之為...

Spring框架(二)IOC控制反轉

現階段裡隨著框架的深入式學習,環境的編寫越來越多,相反程式碼卻逐步縮減 匯入核心容器的四個jar包外加乙個日誌jar 到了spring這裡嘞,依然躲不過 xml 的對映,相比於mybatis環境的 dtd,spring則是改換成了dtd公升級版的 schma,從而更具擴充套件性。就像下面的一段xml...

spring框架溫習 IOC

ioc控制反轉,降低 之間的耦合度。把物件的建立交給spring來完成 實現方法 1.xml配置檔案方式 2.註解方式 使用的技術 xml配置檔案 dom4j解析xml檔案 工廠設計模式 反射 實現原理 問題 controller需要呼叫service,不通過new 修改乙個地方,需要找找找改改改 ...