Spring入門教程 註解開發

2021-10-08 15:28:06 字數 3305 閱讀 7458

## 註解到底是什麼?

註解:註解只不過是乙個標記,儲存了少量的內容資訊,具體功能是由具體的框架實現.註解啟動時使用註解的形式替代xml配置,將繁雜的spring配置檔案從工程中徹底消除掉,簡化書寫.

載入配置檔案

新增bean到容器中

解析bean標籤

解析相關註解

@bean

bean載入完成即可執行業務程式

<

context:component-scan

base-package

="packagename"

/>

配置檔案方式 bean標籤配置

註解配置,載入類上(注意只寫註解不會生效,一定需要掃瞄對應的包

類註解:@component、@controller、@service、@repository(「userdao」)

類註解:@scope(value預設單例)

方法註解,限定bean的生命週期:@postcontructor、@predestory

載入第三方資源

名稱:@bean

型別:方法註解

@component

public

class

jdbcconfig

}

bean的非引用型別屬性注入

名稱:@value

型別:屬性註解、方法註解

@value

("$"

)private string username;

bean的引用型別屬性注入

名稱:@autowired、@qualifier

型別:屬性註解、方法註解。

說明:@autowired預設按型別裝配,指定@qualifier後可以指定自動裝配的bean的id

@autowired

(required =

false

)@qualifier

("userdao"

)private userdao userdao;

名稱:@primary

型別:類註解

說明: @autowired預設按型別裝配,當出現相同型別的bean,使用@primary提高按型別自動裝配的優先順序,多個@primary 會導致優先順序設定無效

@primary

public class classname{}

名稱:@inject、@named、@resource

說明:​ ◆ @inject與@named是jsr330規範中的註解,功能與@autowired和@qualifier完全相同,適用於不同架構場景

◆ @resource是jsr250規範中的註解,可以簡化書寫格式,
相關屬性

name:設定注入的bean的id

2. type:設定注入的bean的型別,接收的引數為class型別

載入properties檔案

名稱:@propertysource

型別:類註解

說明:◆ 不支援*通配格式,一旦載入,所有spring控制的bean中均可使用對應屬性值

◆ value(預設):設定載入的properties檔名

◆ ignoreresourcenotfound:如果資源未找到,是否忽略,預設為false

@propertysource

(value =

"classpath:filename.properties"

)public

class

classname")

private string attributename;

}

具體使用

修改容器實現類

public

class

demoannotation

}

第三方bean配置與管理

名稱:@import

型別:類註解

@configuration

@import

(otherclassname.

class

)public

class

classname

說明:

import註解直接寫乙個class名就可以直接注入乙個bean到spring容器中

@import註解在同乙個類上,僅允許新增一次,如果需要匯入多個,使用陣列的形式進行設定

在被匯入的類中可以繼續使用@import匯入其他資源(了解)

@bean所在的類可以使用匯入的形式進入spring容器,無需宣告為bean

名稱:@import

型別:類註解、方法註解

@dependson

("beanid"

)public

class

classname

說明:

​ ◆ 配置在方法上,使@dependson指定的bean優先於@bean配置的bean進行載入

​ ◆ 配置在類上,使@dependson指定的bean優先於當前類中所有@bean配置的bean進行載入

​ ◆ 配置在類上,使@dependson指定的bean優先於@component等配置的bean進行載入

相關屬性

​ ◆ value(預設):設定當前bean所依賴的bean的id

@lazy, 延遲載入

名稱:@lazy

型別:類註解、方法註解

@lazy

public

class

classname

@order, 有多個配置類的時候可以指定順序

名稱:@order

型別:配置類註解

@order(1

)public

class

springconfigclassname

分析 步驟

修改mybatis外部配置檔案格式為註解格式

業務類使用@component宣告bean,使用@autowired注入物件

建立配置檔案jdbcconfig與mybatisconfig類,並將其匯入到核心配置類springconfig

開啟註解掃瞄

Spring註解開發

spring註解開發 dao層用的註解 repository service層的註解 service controller表現層的註解 controller 以上的三個註解都是用 componment新增三個衍生的註解 屬性依賴注入 value的屬性注入 value wwtmy love 注入的是屬...

spring註解開發

第一步,設定xml約束檔案 第一步,設定xml約束檔案 xmlns xsi xmlns context xsi schemalocation spring beans.xsd spring context.xsd 第二步,定義bean 除了 component外,spring提供了3個功能基本和 c...

Spring註解開發

在spring4之後,要使用註解開發,但是必須保證aop的包存在 使用註解必須保證匯入context約束增加註解的支援 xmlns xmlns xsi xmlns context xsi schemalocation spring beans.xsd spring context.xsd conte...