1. 程式人生 > >springboot學習小筆記(二)---springboot工作機制

springboot學習小筆記(二)---springboot工作機制

Spring Boot工作機制簡介

一、@SpringBootApplication
我們新建一個springboot專案裡面會有一個SpringbootDay1203Application類
在這裡插入圖片描述

我們都知道@SpringBootApplication是Springboot專案的核心註解,沒有這個註解不能成為springboot專案。
你知道嗎?[email protected]註解是一個複合註解。我們看一下官方文件上怎麼說的
在這裡插入圖片描述
構成:@[email protected]
[email protected]
[email protected]
我們看一下@SpringBootApplication該註解的原始碼(果然沒錯)
在這裡插入圖片描述


其他的註解我們下面稍稍解釋一下,注重講解這個3合1註解

@SpringBootConfiguration: @Configuration的作用一樣,為了提醒IOC容器這是一個Spring Boot配置類。
(通俗講:通知IOC有springboot來了,該工作了!)

@EnableAutoConfiguration:開啟自動配置功能
將所有的符合自動配置Bean載入到當前Spring Boot建立並使用IOC容器中去。
(通俗講:工作前的準備)

@ComponentScan:告訴IOC去包掃描
用於自動掃描和載入符合專案條件的元件或者Bean,且將Bean載入到IOC容器中去。
(通俗講:工作吧)

@Target:指明瞭修飾的這個註解的使用範圍,即被描述的註解可以用在哪裡。
ElementType的取值包含以下幾種:
TYPE:類,介面或者列舉
FIELD:域,包含列舉常量
METHOD:方法
PARAMETER:引數
CONSTRUCTOR:構造方法
LOCAL_VARIABLE:區域性變數
ANNOTATION_TYPE:註解型別
PACKAGE:包

@Retention:指明修飾的註解的生存週期,即會保留到哪個階段。
RetentionPolicy的取值包含以下三種:
SOURCE:原始碼級別保留,編譯後即丟棄。
CLASS:編譯級別保留,編譯後的class檔案中存在,在jvm執行時丟棄,這是預設值。
RUNTIME: 執行級別保留,編譯後的class檔案中存在,在jvm執行時保留,可以被反射呼叫。

@Documented:該註解標示註釋是由 javadoc記錄的, 那麼咱們就可以利用javadoc來生成API。

@Inherited:允許子類繼承父類的註解。
這個註解我們通過原始碼看一下(稍微瞭解一下)
在這裡插入圖片描述
可以看出是一個介面類。