SpringBoot面試常問的註解

2021-10-23 20:38:13 字數 1905 閱讀 7241

@target

(elementtype.type)

@retention

(retentionpolicy.runtime)

@documented

@inherited

@springbootconfiguration

@enableautoconfiguration

@componentscan

(excludefilters =

)public @inte***ce

1、@componentscan,包掃瞄註解,通過basepackages等屬性可以自定義掃瞄的包;如果不指定,則預設spring框架實現會從宣告@componentscan所在類的package進行掃瞄。這也是為什麼springboot專案中我們總是將啟動類放在根目錄的包下的原因,這樣就可以掃瞄所有的包(檔案)。

@target

(elementtype.type)

@retention

(retentionpolicy.runtime)

@documented

@inherited

@autoconfigurationpackage

@import

(autoconfigurationimportselector.

class

)public @inte***ce

enableautoconfiguration

最重要的就是@import註解,借助autoconfigurationimportselector,@enableautoconfiguration可以幫助springboot應用將所有符合條件的@configuration配置都載入到當前springboot建立並使用的ioc容器。

3、@springbootconfiguration

@springbootconfiguration繼承自@configuration,二者功能也一致,標註當前類是配置類,

並會將當前類內宣告的乙個或多個以@bean註解標記的方法的例項納入到spring容器中,並且例項名就是方法名。

二、@value

通常情況下,我們需要定義一些全域性變數,都會想到的方法是定義乙個 public static 變數,在需要時呼叫:

public

static

final string test =

"test"

;

這種全域性變數一般是固定的值,但是如果值需要修改的話就需要修改**,這樣肯定是比較麻煩的,是否有其他更好的方案呢?下面請看**:

@restcontroller

("hello"

)public

class

hellocontroller

")

string port;

("/world"

)public string hello()

}

yaml配置檔案中的內容是這樣的:

server:

port:

8081

servlet:

context-path:

/api

spring:

profiles:

active: dev

這樣,當我訪問介面時候得到的結果是這樣的:

所以,@value的作用就是將配置檔案中的值賦值到**中的變數上,而且後面需要修改的話直接修改配置檔案即可。

面試常問的狀態碼

沒有耐心的同學可以先看總結 狀態 有三位數字組成,第乙個數字定義了響應的類別,有五種可能 1xx 臨時響應 表示臨時響應並需要請求者繼續執行操作的狀態 2xx 成功 表示成功處理了請求的狀態 3xx 重定向 表示要完成請求,需要進一步操作。通常,這些狀態 用來重定向。4xx 請求錯誤 這些狀態 表示...

面試常問 堆排序

思路 分析 改進 思路 堆排序有兩種,一種利用堆的特性,先構建最大堆,每次得到最大堆的堆頂元素 另一種是直接原地使用堆排序。原地堆排序 將陣列構建成堆,交換陣列的第乙個元素和最後乙個元素。依次對除去最後的元素的剩下陣列進行排序。原地排序 public class main heapsort arr,...

Linux面試常問命令

1,rm 命令 r 遞迴的刪除資料夾下的內容 f 強制刪除,如果資料夾下沒有指定的檔案,也不會進行提示。例如,rm f file0。如果當前資料夾下沒有file0這個檔案,不會報錯。2,mkdir 命令 p 使用這個引數可以建立多級目錄。3,cp,mv命令 cp test1 file1 test3 ...