spring註解學習

2021-09-26 06:28:56 字數 2031 閱讀 9495

如果使用以下註解,請在spring配置bean檔案中加上

讓它知道它去**掃瞄你的註解

@component

形式:@component(value=" 「)/@component(」 ")

作用:用於把當前類物件存入 spring 容器中

屬性:value : 用於指定 bean 的 id,預設是當前類名,且首字母改小寫;

當值只有乙個的時候可以省略

以下三個註解的作用與 @component完全一樣,它們是 spring 提供的更明確的劃分,使三層物件更加清晰,以後在整合ssm會用到

@autowired

作用:自動按照型別注入,只要容器中有唯一的乙個 bean 物件型別和要注入的變數型別匹配, 就可以注入成功如果ioc容器中沒有任何 bean 的型別和要注入的變數型別匹配,則報錯

出現位置:可以是變數上,也可以是方法上,

細節:在使用註解注入時,set 方法就不是必須的了

@qualifier

作用:在按照型別注入的基礎上再按照名稱注入,它在給類成員注入時不能單獨使用,但是在給方法引數注入 時可以。

屬性:value : 用於指定注入的 bean 的 id

說明:此註解可以解決@autowired按照型別註解帶來的二義性

@resource

作用:直接按照 bean 的 id 注入,可以直接使用

name : 用於指定 bean 的 id

等同於@autowired+@qualifier

以上三個注入都只能注入其他 bean 型別的資料,而基本型別和 string 型別的資料無法使用上述註解實現。另外,集合型別的注入只能通過 xml 配置檔案實現

@value

作用:用於注入基本型別和 string 型別的資料

引數中的value : 用於指定資料的值,它可以使用 spring 中 spel (即spring的el表示式)

spel 的寫法:$

@scope

作用:用於指定 bean 的作用範圍

引數:value : 指定範圍的取值,同 xml 中值,常用為 singleton(單例模式) , prototype(多例模式)

@predestory

作用:用於指定銷毀方法等同於在標籤中使用destroy-method

@postcontrust

作用:用於指定初始化方法,等同於在標籤中使用 init-method

@configuration

@componentscan

作用:用於通過註解指定 spring 在建立容器時要掃瞄的包

屬性:value : 它和 basepackages 的作用是一樣的,都是用於指定建立容器時要掃瞄的包

使用此註解就等同於在 xml 中配置了:

@bean

作用:用於把當前方法的返回值作為 bean 物件放入 spring 的ioc容器中

屬性:name : 用於指定 bean 的 id,當不寫時,預設值為當前方法的名稱

細節:當我們使用註解配置方法時,如果方法有引數,spring 框架會去容器中查詢有沒有可用的 bean 物件,

查詢的方式和 autowired 註解的作用是一樣的

@import

作用:用於匯入其他的配置類

屬性:value : 用於指定其他配置類的位元組碼

當我們使用 import 的註解之後,有 import 註解的類就是父配置類,而匯入的都是子配置類

@properties

作用:用於指定 properties 檔案的位置

屬性:value : 指定檔案的名稱和路徑

關鍵字:classpath , 表示類路徑下

spring註解學習

宣告bean的註解 注入bean的註解 配置檔案的註解 aop切面程式設計註解 spring 常用配置 postconstruct 在建構函式執行完之後執行 predestroy 在 bean 銷毀之前執行 activeprofiles 用來宣告活動的 profile profile 為不同環境下使...

Spring註解學習

context component scan base package com.acg bean標籤 註解 寫在類的定義上 component service repository controller springmvc的註解 如果沒有指定id,預設的元件id是類名的首字母小寫 或者為指定元件id...

Spring 註解學習筆記

宣告bean的註解 注入bean的註解 配置檔案的註解 aop切面程式設計註解 spring 常用配置 postconstruct 在建構函式執行完之後執行 predestroy 在 bean 銷毀之前執行 activeprofiles 用來宣告活動的 profile profile 為不同環境下使...