Springboot學習筆記——常用註解

@SpringBootApplication

在系統啓動類裏面,加入了此啓動註解,此註解是個組合註解,包括了@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan註解。

@SpringBootConfiguration 繼承至@Configuration,對於熟悉spring的開發者而言,此標註當前類是配置類,並會將當前類內聲明的一個或多個以@Bean註解標記的方法的實例納入到srping容器中,並且實例名就是方法名。

@EnableAutoConfiguration 這個註解就是springboot能自動進行配置的關鍵。主要是通過此註解,能使所有符合自動配置條件的bean的定義加載到spring容器中,比如根據spring-boot-starter-web ,來判斷你的項目是否需要添加了webmvc和tomcat,就會自動的幫你配置web項目中所需要的默認配置。

@ComponentScan 這個熟悉spring的開發者也應該熟悉,會掃描當前包及其子包下被@Component,@Controller,@Service,@Repository等註解標記的類並納入到spring容器中進行管理。

@Controller

用於定義控制器類,在spring項目中由控制器負責將用戶發來的URL請求轉發到對應的服務接口(service層),一般這個註解在類中,通常方法需要配合註解@RequestMapping。

@RestController

用於標註控制層組件(如struts中的action),@ResponseBody和@Controller的合集。

@ResponseBody

表示該方法的返回結果直接寫入HTTP response body中

一般在異步獲取數據時使用,在使用@RequestMapping後,返回值通常解析爲跳轉路徑,加上
@responsebody後返回結果不會被解析爲跳轉路徑,而是直接寫入HTTP response body中。比如
異步獲取json數據,加上@responsebody後,會直接返回json數據。

@RequestMapping

提供路由信息,負責URL到Controller中的具體函數的映射。它是一個用來處理請求地址映射的註解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作爲父路徑。
該註解有六個屬性:
params:指定request中必須包含某些參數值是,才讓該方法處理。
headers:指定request中必須包含某些指定的header值,才能讓該方法處理請求。
value:指定請求的實際地址,指定的地址可以是URI Template 模式
method:指定請求的method類型, GET、POST、PUT、DELETE等
consumes:指定處理請求的提交內容類型(Content-Type),如application/json,text/html;
produces:指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回

@Controller 和 @RestController 

@RestController 是Spring4之後加入的註解,原來在@Controller中返回json需要@ResponseBody來配合,如果直接用 @RestController替代@Controller就不需要再配置@ResponseBody,默認返回json格式。而@Controller是用來創建處理http請求的對象,一般結合@RequestMapping使用。

@AutoWired

把配置好的Bean拿來用,完成屬性、方法的組裝,它可以對類成員變量、方法及構造函數進行標註,

完成自動裝配的工作。當加上(required=false)時,就算找不到bean也不報錯。

@Value

注入Springboot中application.properties配置的屬性的值。

@Value(value = “#{message}”)
private String message;

@ControllerAdvice

包含@Component。可以被掃描到。統一處理異常。

@ExceptionHandler(Exception.class)

用在方法上面表示遇到這個異常就執行以下方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章