注解 | 用法 | 常用參數 |
---|---|---|
@Configuration | 用于標記類為配置類,其中通過@Bean方法定義Spring管理的組件。它替代XML配置,用Java代碼聲明對象創建邏輯,并確保單例等容器特性生效。相當于給Spring提供一個“制造說明書”來組裝應用部件 | |
@RestController | @RestController 用于標記Spring MVC中的控制器類,它將HTTP請求處理方法返回的對象自動轉換為JSON/XML格式(通過@ResponseBody實現),專為構建RESTful API設計,省略了傳統頁面跳轉的視圖解析過程 | |
@RequestMapping | 用于將HTTP請求映射到控制器方法,支持定義URL路徑、請求方法(GET/POST等)、請求參數等匹配規則。它是Spring MVC中最基礎的路由注解,其他如@GetMapping等均為其衍生組合注解。 | value/path:定義url路徑映射 |
@PostMapping | 是專門處理HTTP POST請求的快捷注解,結合了@RequestMapping(method = RequestMethod.POST)的功能。它簡化了POST請求路由的定義,常用于表單提交或RESTful API中的資源創建操作,使代碼更簡潔易讀 | |
@RequestBody | 能夠將HTTP請求的正文內容自動映射到Java對象中,減少了手動解析數據的工作量。支持多種數據格式,如JSON、XML等,具體取決于項目中使用的序列化/反序列化庫(如Jackson用于JSON) | |
@Autowired | 自動將 Spring 容器中管理的 Bean 實例注入到需要使用的位置,減少了手動獲取 Bean 引用的代碼 | |
@Service | 用于定義一個類屬于服務層(Business Logic Layer) | |
@Transactional | 使用 @Transactional 標記的方法會在執行時被 Spring 包裹在一個事務中。如果方法執行成功,事務將被提交;如果發生異常,事務將被回滾。需要在啟動類上加注解@EnableTransactionManagement開啟注解方式的事務管理 | |
@GetMapping | 用于將 HTTP GET 請求映射到特定的處理方法中。它簡化了代碼,使得處理 GET 請求更加直觀和方便。 | |
@RequestParam | 用于綁定 HTTP 請求參數到控制器方法參數的注解。它主要用于從 HTTP 請求中提取參數(如查詢參數、表單參數等),并將其綁定到方法參數上,支持綁定單個參數、數組、集合等多種類型,滿足不同場景的需求。 | |
@DeleteMapping | @DeleteMapping 是 Spring Framework 中用于處理 HTTP DELETE 請求的注解。它屬于 Spring MVC 的一部分,主要用于將 DELETE 類型的 HTTP 請求映射到具體的控制器方法上,從而實現對資源的刪除操作。 | |
@PutMapping | @PutMapping 是 Spring Framework 中用于處理 HTTP PUT 請求的核心注解。它是 @RequestMapping(method = RequestMethod.PUT) 的快捷方式,專門用于將 PUT 請求映射到特定的控制器方法。PUT 請求在 RESTful API 設計中主要用于更新或替換完整資源。 | |
@Bean | @Bean是Spring框架的核心注解,用于在Java配置類(@Configuration)中顯式聲明單個Bean的定義。它通過方法創建對象實例,并將返回值交由Spring容器管理 |
- Controller類需要添加的注解:@RestController, @RequestMapping(“路徑”)
- Service實現類需要添加的注解:@Service
請求參數注解區分:
注解 | 作用 | 常用請求類型 | 示例 |
---|---|---|---|
@RequestParam | 獲取 URL 查詢參數或表單參數 | GET/POST | /user?id=1 |
@RequestBody | 獲取請求體中的 JSON/XML 數據 | POST/PUT | 請求體:{"name":"Tom"} |
@PathVariable | 獲取 URL 路徑中的動態參數 | GET/DELETE | /user/1 |