后端常用注解

目前后端只会java

Spring Boot

核心注解

  • @SpringBootApplication: 用于标记主类,表示这是一个 Spring Boot 应用程序。这个注解组合了 @Configuration@EnableAutoConfiguration@ComponentScan

依赖注入和控制反转

  • @Component: 表示一个类是 Spring 的组件,它是任何 Spring 管理组件的通用注解。
  • @Service: 用于服务层(业务逻辑层)的类。
  • @Repository: 用于数据访问层(DAO 层)的类。
  • @Controller: 用于标记控制器类,用于处理 HTTP 请求。
  • @RestController: 是 @Controller@ResponseBody 的组合,用于创建 RESTful 控制器。
  • @RequestMapping: 用于映射 HTTP 请求到控制器的处理方法。
  • @Autowired: 用于自动装配 bean。
  • @Qualifier: 与 @Autowired 一起使用,用于指定需要注入的 bean 的名称。
  • @Resource: 另一种用于自动装配的方式,可以通过名称或类型进行注入。

配置类相关

  • @Configuration: 表示一个类作为配置类,用于定义 bean。
  • @Bean: 在配置类中,用于标记方法,将方法的返回值定义为一个 bean。
  • @EnableAutoConfiguration: 告诉 Spring Boot 根据类路径设置、其他 bean 和各种属性设置自动配置应用。

条件注解

  • @Conditional: 表示只有在特定条件满足时才创建 bean。
  • @Profile: 用于指定某些 bean 只在特定的 Spring Profile 激活时才创建。

数据访问

  • @Transactional: 声明一个方法或类需要事务管理。
  • @EnableTransactionManagement: 启用注解驱动的事务管理。

Web 相关

  • @GetMapping, @PostMapping, @PutMapping, @DeleteMapping: 分别用于处理 HTTP GET, POST, PUT, DELETE 请求的快捷方式。(请求,提交,更新,删除)
  • @PathVariable: 用于将请求 URL 中的模板变量映射到功能处理方法的参数上。
  • @RequestParam: 用于将请求参数区数据映射到功能处理方法的参数上。
  • @RequestBody: 用于读取 Request 请求的 body 部分数据,使用系统默认配置的 HttpMessageConverter 进行解析,然后把相应的数据绑定到要返回的对象上。
  • @ResponseBody: 表示该方法的返回结果直接写入 HTTP 响应正文(ResponseBody)中。

其他

  • @EventListener: 用于标记方法,这些方法会在 Spring 上下文中某些事件发生时被调用。
  • @Scheduled: 用于标记方法,这些方法会按照指定的计划执行。

Lombok 常用注解

  • @Data: 自动生成 getter、setter、toString、equals 和 hashCode 方法。
  • @NoArgsConstructor: 自动生成无参构造函数。
  • @AllArgsConstructor: 自动生成全参构造函数。
  • @RequiredArgsConstructor: 自动生成包含必须属性(用 final 修饰的属性)的构造函数。
  • @Getter: 自动生成 getter 方法。
  • @Setter: 自动生成 setter 方法。
  • @ToString: 自动生成 toString 方法。
  • @EqualsAndHashCode: 自动生成 equals 和 hashCode 方法。
  • @Slf4j: 自动生成日志变量,通常是 log。
  • @Log: 自动生成日志变量,适用于各种日志框架。
  • @Builder: 自动生成构建器模式的支持。
  • @Value: 自动生成不可变类,即所有字段都是 final 的,并提供 getter 方法,但不提供 setter 方法。
  • @SneakyThrows: 自动处理受检异常(checked exceptions)。

MyBatis-Plus 常用注解

  • @TableName: 指定实体类对应的数据库表名。
  • @TableId: 指定实体类中主键的字段。
  • @TableField: 指定实体类中非主键的字段,可以配置字段名与数据库列名之间的映射关系。
  • @TableLogic: 用于配置逻辑删除字段。
  • @Version: 用于配置乐观锁版本号字段。
  • @Mapper: 表示这是一个 MyBatis 的 Mapper 接口,MyBatis-Plus 会自动生成相应的实现类。
  • @MapperScan: 用于扫描 Mapper 接口所在的包,这样就不需要在每个 Mapper 接口上使用 @Mapper 注解。
  • @SqlParser: 用于指定 MyBatis-Plus 的 SQL 解析器。
  • @KeySequence: 用于指定主键序列(如果数据库支持序列作为主键)。
作者

zyh

发布于

2024-10-28

更新于

2024-10-28

许可协议

评论