1. 程式人生 > >spring-boot常用註解

spring-boot常用註解

註解

常用註解

@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使用。