springboot 常用注解

下面给你一份Spring Boot 常用注解全景清单 ,按使用场景分类 ,非常适合日常开发 + 面试复习


一、启动 & 核心注解(必须掌握)

✅ @SpringBootApplication

java 复制代码
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

等价于:

java 复制代码
@Configuration
@EnableAutoConfiguration
@ComponentScan
注解 作用
@Configuration 标识配置类
@EnableAutoConfiguration 开启自动配置
@ComponentScan 扫描 Bean

📌 Spring Boot 应用的入口注解


二、Bean 定义 & 注入

1️⃣ 定义 Bean

注解 说明
@Component 通用组件
@Service 业务层
@Repository DAO 层(支持异常转换)
@Controller MVC 控制器
@RestController REST 接口(= @Controller + @ResponseBody)
java 复制代码
@RestController
@RequestMapping("/user")
public class UserController {}

2️⃣ Bean 注入(DI)

✅ @Autowired(Spring 原生)

java 复制代码
@Autowired
private UserService userService;

✅ @Qualifier(解决多个实现)

java 复制代码
@Autowired
@Qualifier("userServiceImpl")
private UserService userService;

✅ @Resource(JDK 自带,推荐)

java 复制代码
@Resource
private UserService userService;

📌 区别:

注解 来源 默认按
@Autowired Spring 类型
@Resource JDK 名称

三、配置相关注解(非常高频)

1️⃣ 配置文件绑定

@Value

java 复制代码
@Value("${server.port}")
private int port;

@ConfigurationProperties(强烈推荐)

java 复制代码
@Data
@Component
@ConfigurationProperties(prefix = "aliyun.oss")
public class OssConfig {
    private String endpoint;
    private String accessKey;
}

2️⃣ 引入配置

注解 作用
@PropertySource 加载自定义 properties
@ImportResource 引入 XML 配置
@Import 导入配置类

四、Web / MVC 注解

1️⃣ 请求映射

注解 说明
@RequestMapping 通用
@GetMapping GET
@PostMapping POST
@PutMapping PUT
@DeleteMapping DELETE
java 复制代码
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {}

2️⃣ 参数绑定

注解 作用
@PathVariable URL 参数
@RequestParam 请求参数
@RequestBody JSON 请求体
@RequestHeader Header
@CookieValue Cookie

3️⃣ 响应处理

注解 说明
@ResponseBody 返回 JSON
@ResponseStatus 指定 HTTP 状态码
@ExceptionHandler 局部异常处理
@ControllerAdvice 全局异常处理

五、数据库 & 事务

1️⃣ JPA / MyBatis 常用

注解 说明
@Entity JPA 实体
@Table 表名
@Id 主键
@GeneratedValue 主键生成
@Column 字段

2️⃣ 事务(非常重要)

@Transactional

java 复制代码
@Transactional(rollbackFor = Exception.class)
public void saveUser() {}

📌 常见考点:

  • 默认只对 RuntimeException 回滚
  • 同类方法调用事务失效
  • 需 public 方法

六、AOP 相关注解

注解 作用
@Aspect 切面
@Pointcut 切点
@Before 前置通知
@After 后置通知
@Around 环绕通知
@AfterReturning 返回后
@AfterThrowing 异常后
java 复制代码
@Aspect
@Component
public class LogAspect {}

七、异步 / 定时 / 缓存

1️⃣ 异步

java 复制代码
@EnableAsync
@Async
public void sendEmail() {}

2️⃣ 定时任务

java 复制代码
@EnableScheduling
@Scheduled(cron = "0 0 * * * ?")
public void task() {}

3️⃣ 缓存(高频)

注解 作用
@EnableCaching 启用缓存
@Cacheable 查询缓存
@CachePut 更新缓存
@CacheEvict 删除缓存

八、条件装配(Spring Boot 精髓)

注解 说明
@ConditionalOnClass 类存在才生效
@ConditionalOnMissingBean Bean 不存在才生效
@ConditionalOnBean Bean 存在才生效
@ConditionalOnProperty 配置存在

📌 自动配置的核心


九、测试相关

注解 作用
@SpringBootTest 启动容器测试
@WebMvcTest MVC 测试
@DataJpaTest JPA 测试
@MockBean Mock Bean

十、高频总结(速记)

✅ @SpringBootApplication = 三大注解

✅ @RestController = @Controller + @ResponseBody

✅ @Autowired 按类型,@Resource 按名称

✅ @Transactional 只对 public 方法有效

✅ @ConfigurationProperties 优于 @Value

✅ 条件注解是 Spring Boot 自动配置灵魂


相关推荐
沧海一笑-dj21 分钟前
【Python】Python学习笔记-初识 Python
python·python安装·python解释器
打工仔折腾 AI24 分钟前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
IT_陈寒28 分钟前
Java空指针这次真把我坑惨了
前端·人工智能·后端
hanchenxing38 分钟前
AI 数据管道重构:从函数堆到链式管道的可读性实践
python
hhzz44 分钟前
【OpenCV 入门到精通 10】视频分析与光流跟踪:背景减除与运动检测
人工智能·python·opencv·性能优化
蓝胖的四次元口袋1 小时前
Python基础语法入门
python
Patrick在香港1 小时前
Python 抓 0.91 GB 香港法例:Agent 的进度该写进磁盘,不是写进上下文
爬虫·python·api·claude·香港
moMo1 小时前
LangChain 到 LangGraph: RAG 知识库改造
后端
用户574385305111 小时前
元数据驱动的通用 CRUD 后端框架 (3- createBusiness 工厂:三层装配 + 一行出 REST)
后端
ClinicTech1 小时前
实验室洗瓶机的清洗系统架构与自动化控制解析
java·python