注解(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 转换的代码了。