springboot常用注解

一、启动类注解

@SpringBootApplication

  • 位置:启动类(main 方法所在类)上方
  • 复合注解 = @Configuration + @EnableAutoConfiguration + @ComponentScan
  • 作用:SpringBoot 项目入口,开启自动配置与包扫描

二、IOC‑容器注解(交给 Spring 管理对象)

  1. @Component
    • 位置:普通组件类
    • 通用注解,把类交给 Spring 容器创建对象
  2. @Controller
    • 位置:Web 层控制器类
    • 接收前端请求,返回页面
  3. @Service
    • 位置:业务层实现类
    • 处理业务逻辑
  4. @Repository
    • 位置:Dao 层;MyBatis 一般改用@Mapper
  5. @RestController
    • 位置:控制器类
    • 等价 @Controller + @ResponseBody,返回JSON 数据(前后端分离)

三、Web 请求相关注解(只能写在 Controller 类 / 方法上)

  1. @RequestMapping("路径")
    • 类 / 方法上方;GET、POST 请求都能接收
  2. @GetMapping("路径")
    • 方法上,仅接收 GET 请求
  3. @PostMapping("路径")
    • 方法上,仅接收 POST 请求
  4. @RequestParam
    • 写在方法参数前;获取 url 问号后的参数 ?name=xxx
    • 属性:name参数名、required是否必传、defaultValue默认值
  5. @PathVariable
    • 方法参数前;获取路径参数 /user/{id}
  6. @RequestBody
    • 方法参数前;POST 接收前端 JSON 字符串,转为 Java 对象
  7. @ResponseBody
    • 类 / 方法;返回对象转为 JSON,响应浏览器

四、依赖注入 DI

  1. @Autowired
    • 成员变量 /set 方法;优先按类型注入
  2. @Qualifier("bean名称")
    • 和@Autowired成对使用;按名称注入,解决同类型 Bean 冲突
  3. @Resource
    • Java 自带注解;默认按名称注入

五、读取配置文件注解(yml/properties)

  1. @Value("${配置项}")
    • 成员变量上方;读取单个配置
  2. @ConfigurationProperties(prefix = "xxx")
    • 实体类上方;批量绑定一组配置,需要搭配@Component

六、MyBatis 相关注解

  1. @Mapper
    • Mapper 接口上方;生成代理对象
  2. @MapperScan("com.xxx.mapper")
    • 启动类上方;一次性扫描全部 Mapper 接口
  3. @Param("参数名")
    • Mapper 接口的方法参数前;xml 文件中使用该参数名

七、配置类注解

  1. @Configuration
    • 类上方;标记当前类是配置类
  2. @Bean
    • 只能写在 @Configuration 类里面的方法上;把返回的对象交给 Spring 容器管理
相关推荐
zzu123zsw1 小时前
从 SPI 契约到独立 ClassLoader 隔离:Spring Boot 插件热插拔架构设计与内存泄露防御
java·spring boot·后端·架构设计
文丑颜不良啊1 小时前
LeetCode1161~1180题目解析
java·leetcode
古法老登瞎折腾9 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
zhangrelay10 小时前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
智能运维指南10 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
yz_aiks11 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵11 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设11 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
jason成都11 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
鱼宵11 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作