spring-boot常用註解
阿新 • • 發佈:2018-11-16
註解
常用註解
@RestController 控制器註解 @RequestParam 獲取url引數 ?name=value @RequestParam(value = "name",defaultValue = "張三") String name @RequestParam 支援下面四種引數 defaultValue 如果本次請求沒有攜帶這個引數,或者引數為空,那麼就會啟用預設值 name 繫結本次引數的名稱,要跟URL上面的一樣 required 這個引數是不是必須的 value 跟name一樣的作用,是name屬性的一個別名 @PathVariable 路徑模板變數 /user/{id} @PathVariable("id") Long id @PathParam question變數 /user?id=66 @PathParam("id") Long id @RequestBody 接受post傳過來的引數體到一個物件中 {'id':1,'name':'haha'} xxx(@RequestBody Tags tags) @ResponseBody 返回值是json 將函式的返回值直接填入HTTP響應體中 @RequestMapping 路由註解 @RequestMapping(value = "/{id}",method = RequestMethod.GET) @GetMapping GET路由註解 @GetMapping("/user/{id}") @PostMapping POST路由註解 @PostMapping("/user") @RequestMapping:@RequestMapping(“/path”)表示該控制器處理所有“/path”的UR L請求。RequestMapping是一個用來處理請求地址對映的註解,可用於類或方法上。 用於類上,表示類中的所有響應請求的方法都是以該地址作為父路徑。該註解有六個屬性: params:指定request中必須包含某些引數值是,才讓該方法處理。 headers:指定request中必須包含某些指定的header值,才能讓該方法處理請求。 value:指定請求的實際地址,指定的地址可以是URI Template 模式 method:指定請求的method型別, GET、POST、PUT、DELETE等 consumes:指定處理請求的提交內容型別(Content-Type),如application/json,text/html; produces:指定返回的內容型別,僅當request請求頭中的(Accept)型別中包含該指定型別才返回 @RestControllerAdvice 註解@ControllerAdvice是一個元件註解(component annotation),它允許實現類通過類路徑掃描被自動檢測到。當使用 MVC 名稱空間或者 MVC Java 配置時自動啟用 @ControllerAdvice 包含@Component。可以被掃描到。統一處理異常。 @ExceptionHandler(Exception.class):用在方法上面表示遇到這個異常就執行以下方法。 @Value("${face_api_key}") 讀取application.properties裡面的配置, 使用@Value的類如果被其他類作為物件引用,必須要使用注入的方式,而不能new @Bean:相當於XML中的,放在方法的上面,而不是類,意思是產生一個bean,並交給spring管理。 @Component:泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。 @Inject:等價於預設的@Autowired,只是沒有required屬性; @Import:用來匯入其他配置類。 @ImportResource:用來載入xml配置檔案。 @Service:一般用於修飾service層的元件 @Repository:使用@Repository註解可以確保DAO或者repositories提供異常轉譯,這個註解修飾的DAO或者repositories類會被ComponetScan發現並配置,同時也不需要為它們提供XML配置項。 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration註解。其中@ComponentScan讓Spring Boot掃描到Configuration類並把它加入到程式上下文。 @Configuration 等同於spring的XML配置檔案;使用java程式碼可以檢查型別安全。 @EnableAutoConfiguration 自動配置。 @Profiles 讓修飾的配置只能在特定的環境下生效。任何@Component或@Configuration都能被@Profile標記,從而限制載入它的時機。 @ComponentScan 元件掃描,可自動發現和裝配一些Bean。 @RestController註解是@Controller和@ResponseBody的合集,表示這是個控制器bean,並且是將函式的返回值直 接填入HTTP響應體中,是REST風格的控制器。 @Autowired 自動匯入。 @JsonBackReference 解決巢狀外鏈問題。 @RepositoryRestResourcepublic配合spring-boot-starter-data-rest使用。