🌟Bean管理相关
- @Autowired: 自动装配,用于自动注入依赖的Bean实例。
- @Service: 用于标识一个服务类,表示它是业务逻辑层的组件。
- @Repository: 用于标识一个数据访问类,表示它是数据访问层的组件。
- @Component: 通用的Spring组件注解,用于标识一个普通的Bean组件。
- @Value: 注入配置文件中的值到对应的变量中。
🌟异步和定时相关
@EnableScheduling、@Scheduled
解释:
- @EnableScheduling:启动类添加@EnableScheduling开启任务调度功能。
- @Scheduled:定时任务注解,用于
标识定时任务
的方法。
@SpringBootApplication @EnableScheduling public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } @Component public class MyScheduler { @Scheduled(fixedRate = 5000) public void myTask() { // 每个5秒执行一次的任务逻辑 } } @Component public class MyScheduler { @Scheduled(cron = "0 0 8 * * ?") public void myTask() { // 每天早上8点执行的任务逻辑 } }
@EnableAsync、@Async
解释:
- @EnableAsync:启动类添加,开启异步任务。
- @Async:标识异步任务方法。
@SpringBootApplication @EnableAsync public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } @Service public class MyService { @Async public CompletableFuture<String> asyncTask() { // 异步执行的任务逻辑 // 返回一个CompletableFuture以支持异步结果的处理 } }
🌟缓存和事务管理
解释:
- @EnableCaching: 开启Spring的缓存支持,用于缓存方法的结果,提高性能。
- @Transactional: 提供声明式事务管理,用于标识需要使用事务的方法或类。
- @EnableTransactionManagement: 开启事务管理支持,用于启用Spring的声明式事务管理功能
- @SpringBootAp
@SpringBootApplication @EnableCaching @EnableTransactionManagement public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } @Service public class MyService { @Transactional public void performTransaction() { // 执行数据库操作等需要事务管理的逻辑 } }
🌟异常处理相关
- @RestControllerAdvice、@ExceptionHandler
- @RestControllerAdvice:结合了@ControllerAdvice和@ResponseBody注解的功能。它用于定义全局的异常处理和统一的响应处理。
- @ExceptionHandler:指定类型的异常进行统一处理。
- @RestControllerAdvice
@RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity<String> handleException(Exception e) { // 异常处理逻辑,可以根据实际需求进行对异常的处理和返回相应的错误信息 return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error"); } }
🌟写在最后
有关于SpringBoot常用注解到此就结束了。感谢大家的阅读,希望大家对此部分内容散发讨论或者还有其他注解可以在评论区进行补充,便于学到更多的知识。感激不尽!