java springboot 注解

1. 基础注解(Java 内置)

注解说明
@Override 表示方法是重写父类的方法(编译时检查,确保方法签名正确)。
@Deprecated 标记方法或类已过时,不推荐使用,调用时会有警告提示。
@SuppressWarnings 抑制编译器警告,例如:@SuppressWarnings("unchecked")
@FunctionalInterface 表示一个接口是函数式接口(只能有一个抽象方法,JDK 8+)。

2. Lombok 注解(简化代码开发)

注解说明
@Getter 自动生成 getter 方法。
@Setter 自动生成 setter 方法。
@ToString 自动生成 toString 方法。
@EqualsAndHashCode 自动生成 equalshashCode 方法。
@NoArgsConstructor 自动生成无参构造方法。
@AllArgsConstructor 自动生成包含所有字段的构造方法。
@Builder 提供 建造者模式 的实现。
@Slf4j 自动引入日志框架 SLF4J 的 log 对象。

3. Spring 注解(用于开发 Web 应用和服务)

3.1 Spring 核心注解

注解说明
@Component 将类注册为 Spring 的 Bean,供容器管理。
@Service 标记服务层的类,功能类似 @Component,语义更明确。
@Repository 标记持久层(数据库访问层)的类,提供数据库操作功能。
@Controller 标记控制器,用于处理用户请求(MVC 模式的前端控制层)。
@RestController 等同于 @Controller + @ResponseBody,直接返回 JSON 格式响应。
@Autowired 自动注入 Spring 容器中的 Bean(根据类型注入)。
@Qualifier 用于指定注入 Bean 的名称(当有多个同类型 Bean 时)。
@Value 从配置文件加载单个值,例如:@Value("${my.property}")
@Configuration 标记配置类,代替传统的 XML 配置。
@Bean 在配置类中声明一个 Bean。

3.2 Spring MVC 和 REST 注解

注解说明
@GetMapping 处理 HTTP GET 请求。
@PostMapping 处理 HTTP POST 请求。
@RequestMapping 通用的请求映射注解,可指定路径和 HTTP 方法。
@RequestParam 获取请求参数,例如:@RequestParam("id") int id
@PathVariable 获取 URL 路径中的变量,例如:@GetMapping("/user/{id}")
@RequestBody 将请求体(JSON)映射为对象,用于接收客户端数据。
@ResponseBody 将返回值直接写入 HTTP 响应体,通常用于返回 JSON 数据。

3.3 Spring 事务管理

注解说明
@Transactional 声明式事务管理,方法中的数据库操作要么全部成功,要么全部回滚。

3.4 Spring 异步处理

注解说明
@Async 声明方法为异步执行,通常用于耗时任务。

4. JPA 注解(数据持久化相关)

注解说明
@Entity 标记类为 JPA 实体类,对应数据库中的表。
@Table 指定表名及其他表属性,例如:@Table(name = "user_table")
@Id 标记主键字段。
@GeneratedValue 标记主键生成策略,例如:@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column 指定字段对应数据库列的信息,例如列名、是否为空等。
@OneToMany / @ManyToOne / @OneToOne / @ManyToMany 描述实体之间的关系。

5. 其他常用注解

注解说明
@Test 用于单元测试(JUnit 框架)。
@Before / @After 单元测试中的初始化和清理工作(JUnit 框架)。
@Data Lombok 提供的注解,包含 @Getter@Setter@ToString 等功能。
@Slf4j 自动引入 SLF4J 日志对象,提供日志记录功能。
@Builder 提供建造者模式的支持,方便构建对象。

总结

  • 内置注解:帮助开发者检查代码和优化。
  • Lombok 注解:简化 Java 的样板代码(getter/setter/toString 等)。
  • Spring 注解:实现依赖注入、声明式事务管理、RESTful 服务等。
  • JPA 注解:帮助实现 ORM(对象关系映射)。

通过这些注解,Java 开发变得更加高效、清晰且易于维护!

posted @   matengfei  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示