Spring中的註解

2021-09-25 07:14:40 字數 2521 閱讀 2014

在對spring系列進行學習時,會在簡化xml的同時,遇到一些註解,一開始,我只是對這些註解進行搜尋和短暫的記憶,主要在理解程式上,但後來發現,必須對一些註解進行整合理解,下面是我在各**中搜尋到的註解給於的自己的理解。

等同於spring的xml配置檔案

這個註解是是springboot根據我們所引入的jar包自動配置的,假設我們有自己的配置類則會覆蓋

是告訴springboot進行包掃瞄的,同xml中下行**,就是對controller進行包掃瞄。

@restcontroller

@importresource("classpath:consumer.xml")

public class client

public static void main(string args) throws exception

}spring中,配置bean的時通常會在xml中編寫與標籤,例如下列**

**中定義了三個bean,course中包含引數有module,module中引數有assignment,形成的二重巢狀bean。如果現在我需要將xml中的定義刪除,使用configuration註解

那麼在configuration註解中的類應該為

@configuration

@bean

public course course()

/***實現了bean的巢狀注入

**/ @bean

public module module()

@bean

public assignment assignment()

}

如上**,我們將@configuration註解寫在類前,再將@bean註解寫在方法前,方法名即為bean的id。

該註解可以對標註物件進行自動裝配,不僅僅可以對變數,也可以對方法、建構函式進行裝配,下**為對成員變數進行注入例

//介面類

public inte***ce people

//實現類

@repository

public class student implements people

}

//測試類

@service

public class userservice

}

@autowired對介面類people進行自動裝配,執行後people會和他的實現類自動裝配,控制台上會顯示do homework。

正如上@autowired的例子所示,當介面只有乙個實現類的時候,我們可以使用自動裝配,那麼,如果擁有多個實現類的時候,標註該怎麼選擇裝配呢,那就是使用@qualifier進行選擇了,在上例中,增加多乙個people實現介面類,如下**。

@repository

public class teacher implements people

}

這時,我們只有修改測試類的**,就能正確的裝配teacher類上。

//測試類

@service

public class userservice

}

這四種註解其實都沒什麼不同,只是各自運用的層不一樣,@component是運用在控制層action,@service運用在業務層server,@repository是運用在持久層dao,@component可註解不確定層。

如果註解中含有name屬性@component("beanname"),就會將這個name值取為bean的名字。

用@scope註解能定義這個bean的作用域

表示將該控制器去處理某個url中的請求,將乙個位址請求對映到該方法中。

用在方法的引數前,進行前端引數與後台引數名字不一的對映

標註實體類

與entity聯用,說明該bean連線的是資料庫的哪張表,@table(name = "",catalog = "",schema = "" ) 中name填表名,catalog填資料庫名,schema填使用者名稱。

表示該屬性為主鍵。可標註在getter方法前

對映成員到關係表中的某一列

標註主鍵的生成策略@generatedvalue(strategy=)引數可以為

genrationtype.auto.

genrationtype.identity

genrationtype.sequrnce

genrationtype.table

史上最全的springboot註解-隨風飄揚

springboot註解大全-浩瀚星空

spring常用註解

@autowired用法詳解

@autowired的幾種注入方式

spring註解@repository、@service、@controller、@component

@id 和 @generatedvalue 註解詳解

Spring中的 scope註解

預設是單例模式,即scope singleton 另外scope還有prototype request session global session作用域。scope prototype 多例 scope預設是單例模式 singleton 如果需要設定的話 scope prototype 1.sin...

Spring中的 scope註解

預設是單例模式,即scope singleton 另外scope還有prototype request session global session作用域。scope prototype 多例 scope預設是單例模式 singleton 如果需要設定的話 scope prototype 1.sin...

Spring中的 scope註解

scope,也稱作用域,在 spring ioc 容器是指其建立的 bean 物件相對於其他 bean 物件的請求可見範圍。在 spring ioc 容器中具有以下幾種作用域 基本作用域 singleton prototype web 作用域 reqeust session globalsessio...