28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈(二)

简介: 28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈

🌟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常用注解到此就结束了。感谢大家的阅读,希望大家对此部分内容散发讨论或者还有其他注解可以在评论区进行补充,便于学到更多的知识。感激不尽!


目录
相关文章
|
3天前
|
缓存 监控 架构师
阿里面试:Java开发中,应如何避免OOM
在Java开发中,OutOfMemoryError(OOM)错误一直是令开发者头疼的问题,也是Java面试中出现核心频率很高的问题。 那么我们究竟怎么样才能够有效正确的管理内存,日常开发中究竟要注意哪些核心技巧来避免OOM错误。 本文将带大家一起学习10个避免OOM的实用小技巧,让大家在工作中能够有的放矢,避免OOM错误的飞来横祸。
21 1
|
4天前
|
Java 关系型数据库 MySQL
docker 部署springboot项目,连接mysql容器
docker 部署springboot项目,连接mysql容器
13 0
|
7天前
|
开发框架 Java 测试技术
Spring Boot 项目中使用 `@Autowired` 注解,合理吗?
Spring Boot 项目中使用 `@Autowired` 注解,合理吗?
86 1
Spring Boot 项目中使用 `@Autowired` 注解,合理吗?
|
19天前
|
缓存 Java API
【SpringBoot】搭建第一个SpringBoot项目 - group、artifact等项目元数据详解
【SpringBoot】搭建第一个SpringBoot项目 - group、artifact等项目元数据详解
|
19天前
|
JSON 前端开发 Java
springboot项目实现实体类加密存库,解密返回给前端
springboot项目实现实体类加密存库,解密返回给前端
16 0
|
19天前
|
Java Docker 容器
docker-compose部署一个springboot项目(包含环境)
docker-compose部署一个springboot项目(包含环境)
15 0
|
23天前
|
XML Java 关系型数据库
🌟Springboot项目基础配置:小白也能快速上手!
零基础也能玩转Springboot项目基础配置!
28 0
|
30天前
|
XML 存储 小程序
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十四)
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十四)
|
30天前
|
存储 数据库
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(八)
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(八)
|
30天前
|
SQL XML 测试技术
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(七)
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(七)

相关产品

  • 云迁移中心