spring IOC容器管理 基於註解方式

2021-10-10 03:51:44 字數 2997 閱讀 1714

​ 1、什麼是註解

(1)註解是**特殊標記,格式:@註解名稱(屬性名稱=屬性值, 屬性名稱=屬性值…)​

(2)使用註解,註解作用在類上面,方法上面,屬性上面​

(3)使用註解目的:簡化 xml 配置

2、spring 針對 bean 管理中建立物件提供註解

​ 下面四個註解功能是一樣的,都可以用來建立 bean 例項​

(1)@component​

(2)@service​

(3)@controller​

(4)@repository

3、基於註解方式實現物件建立

​ 第一步 引入依賴 (引入spring-aop jar包)

​ 第二步 開啟元件掃瞄

<

context:component-scan

base-package

="com.atguigu"

>

context:component-scan

>

第三步 建立類,在類上面新增建立物件註解

//在註解裡面 value 屬性值可以省略不寫,

//預設值是類名稱,首字母小寫

//userservice -- userservice

@component

(value =

"userservice"

)//註解等同於xml配置檔案:

public

class

userservice

}

​ 4、開啟元件掃瞄細節配置

<

context:component-scan

base-package

="com.atguigu"

use-defaultfilters

="false"

>

<

context:include-filter

type

="annotation"

expression

="org.springframework.stereotype.controller"

/>

context:component-scan

>

<

context:component-scan

base-package

="com.atguigu"

>

<

context:exclude-filter

type

="annotation"

expression

="org.springframework.stereotype.controller"

/>

context:component-scan

>

5、基於註解方式實現屬性注入

1)@autowired:根據屬性型別進行自動裝配​

第一步 把 service 和 dao 物件建立,在 service 和 dao 類新增建立物件註解

第二步 在 service 注入 dao 物件,在 service 類新增 dao 型別屬性,在屬性上面使用註解

@service

public

class

userservice

}//dao實現類

@repository

//@repository(value = "userdaoimpl1")

public

class

userdaoimpl

implements

userdao

}

(2)@qualifier:根據名稱進行注入,這個@qualifier 註解的使用,和上面@autowired(根據型別) 一起使用

//定義 dao 型別屬性

//不需要新增 set 方法

//新增注入屬性註解

@autowired

//根據型別進行注入

//根據名稱進行注入(目的在於區別同一介面下有多個實現類,根據型別就無法選擇,從而出錯!)

@qualifier

(value =

"userdaoimpl1"

)private userdao userdao;

//@resource //根據型別進行注入

@resource

(name =

"userdaoimpl1"

)//根據名稱進行注入

private userdao userdao;

​ (4)@value:注入普通型別屬性

@value

(value =

"abc"

)private string name

​ 6、完全註解開發

(1)建立配置類,替代 xml 配置檔案

@configuration

//作為配置類,替代 xml 配置檔案

@componentscan

(basepackages =

)public

class

springconfig

​ (2)編寫測試類

@test

public

void

testservice2()

Spring IOC容器Bean管理 三

ioc 操作 bean 管理 基於註解方式 1 什麼是註解 1 註解是 特殊標記,格式 註解名稱 屬性名稱 屬性值,屬性名稱 屬性值 2 使用註解,註解作用在類上面,方法上面,屬性上面 3 使用註解目的 簡化 xml 配置 2 spring 針對 bean 管理中建立物件提供註解 下面四個註解功能是...

springIOC容器管理的bean預設都是單例的

springioc容器管理的bean預設都是單例的 我們平時使用的 controller註解標註的控制器 service標註的介面等 預設都是單例的 那麼也就是說,我們定義乙個成員變數,執行緒之間可以共用!滑稽!幹了幾年了我竟然不知道。先模擬個鎖玩一下 測試spring 管理的bean 的作用域 鎖...

springIOC容器詳解

springioc容器又被搞了,我tm今天要搞定這個東西 我目前看過最好的講解是這篇作者的 spring的ioc容器在實現控制反轉和依賴注入的過程中,可以劃分為兩個階段 這兩個階段中,ioc容器分別作了以下這些事情 2 ioc容器及ioc容器如何獲取物件間的依賴關係 spring中提供了兩種ioc容...