后端常用注解
目前后端只会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
: 用于指定主键序列(如果数据库支持序列作为主键)。