注解(Annotation)是 Java 的一個重要特性,我用幾個具體例子來解釋:
1、標記功能
@Service // 告訴Spring這是一個服務類
public class UserService {
}@Data // 告訴Lombok自動生成getter/setter
public class User {private String name;
}
2、參數處理
@PostMapping("/login") // 處理POST請求
public String login(@RequestBody LoginRequest req, // 處理JSON請求體@RequestParam String type, // 處理URL參數@PathVariable Long id) { // 處理URL路徑變量
}
3、配置功能
@Value("${server.port}") // 注入配置文件的值
private int serverPort;@TableName("u_person") // 指定數據庫表名
public class Person {
}
4、驗證功能
public class LoginRequest {@NotNull // 驗證不能為空@Size(min = 3, max = 20) // 驗證長度范圍private String username;
}
注解的主要作用:
-
簡化代碼:避免寫重復代碼
-
提供元數據:描述代碼的額外信息
-
聲明式編程:通過注解聲明要實現的功能
-
運行時處理:框架可以根據注解執行特定操作
比如 @RequestBody 的工作流程:
-
前端發送 JSON 數據
-
Spring 看到 @RequestBody 注解
-
自動將 JSON 轉換為 Java 對象
-
把對象傳給方法使用
這樣就不用手動寫 JSON 轉換的代碼了。