企业级Java开发整理的常用注解汇总

一、Spring Boot核心注解

1. 启动与配置

注解 说明 示例代码
@SpringBootApplication 主启动类注解(组合注解) @SpringBootApplication public class App { ... }
@Configuration 声明配置类 @Configuration public class AppConfig { ... }
@Bean 将方法返回对象注入容器 @Bean public DataSource dataSource() { ... }

2. 依赖注入

注解 说明 示例代码
@Autowired 自动注入Bean @Autowired private UserService userService;
@Qualifier 按名称指定注入Bean @Autowired @Qualifier("mysqlDao") private UserDao userDao;
@Component 通用组件注解 @Component public class MyUtil { ... }
@Service 服务层注解 @Service public class UserServiceImpl { ... }
@Repository 数据访问层注解 @Repository public class UserDaoImpl { ... }

二、Web开发相关

1. Spring MVC

注解 说明 示例代码
@RestController REST控制器(自动JSON) @RestController @RequestMapping("/api")
@GetMapping 处理GET请求 @GetMapping("/users/{id}")
@PostMapping 处理POST请求 @PostMapping("/users")
@RequestBody 接收JSON请求体 public User create(@RequestBody User user)
@PathVariable 获取URL路径参数 @GetMapping("/users/{id}") public User getById(@PathVariable Long id)
@RequestParam 获取请求参数 @GetMapping("/search") public List search(@RequestParam String keyword)
@Valid 参数校验 public User create(@Valid @RequestBody User user)

2. 统一处理

注解 说明 示例代码
@ControllerAdvice 全局异常处理 @ControllerAdvice public class GlobalExceptionHandler { ... }
@ExceptionHandler 异常处理方法 @ExceptionHandler(Exception.class) public ResponseEntity handleException() { ... }

三、持久层相关

1. JPA/Hibernate

注解 说明 示例代码
@Entity 声明实体类 @Entity @Table(name = "sys_user") public class User { ... }
@Id 主键字段 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;
@Column 字段与列映射 @Column(name = "user_name", length = 50) private String username;
@OneToMany 一对多关系 @OneToMany(mappedBy = "user") private List orders;

2. MyBatis/MyBatis-Plus

注解 说明 示例代码
@Mapper MyBatis的Mapper接口 @Mapper public interface UserMapper { ... }
@Select 定义查询SQL @Select("SELECT * FROM user WHERE id = #{id}") User selectById(Long id);
@Insert 插入SQL @Insert("INSERT INTO user(name) VALUES(#{name})")
@TableName MyBatis-Plus表名映射 @TableName("sys_user") public class User { ... }
@TableField 字段映射 @TableField("user_age") private Integer age;

四、配置与事务

1. 配置管理

注解 说明 示例代码
@Value 注入配置文件值 @Value("${app.page-size}") private int pageSize;
@ConfigurationProperties 批量注入配置属性 @ConfigurationProperties(prefix = "app")
@Profile 环境隔离配置 @Profile("dev") @Component public class DevConfig { ... }

2. 事务管理

注解 说明 示例代码
@Transactional 声明事务 @Transactional(rollbackFor = Exception.class)
@EnableTransactionManagement 启用事务管理 主类或配置类添加此注解

五、Lombok常用注解(提升效率)

注解 说明 示例代码
@Data 自动生成getter/setter @Data public class User { ... }
@Builder 链式构造对象 User user = User.builder().name("Tom").age(20).build();
@Slf4j 自动生成日志对象 @Slf4j public class MyService { ... log.info(...); }

六、高级特性

1. 定时任务

注解 说明 示例代码
@Scheduled 定时任务 @Scheduled(cron = "0 0/5 * * * ?")
@EnableScheduling 启用定时任务 主类添加此注解

2. 异步处理

注解 说明 示例代码
@Async 异步方法 @Async public void asyncTask() { ... }
@EnableAsync 启用异步支持 主类或配置类添加此注解

建议收藏:在实际开发中,80%的场景会用到以上注解。理解这些注解的用途能快速提升代码质量与开发效率。

你可能感兴趣的:(java,开发语言)