一、启动类注解
@SpringBootApplication
- 位置:启动类(main 方法所在类)上方
- 复合注解 =
@Configuration + @EnableAutoConfiguration + @ComponentScan - 作用:SpringBoot 项目入口,开启自动配置与包扫描
二、IOC‑容器注解(交给 Spring 管理对象)
@Component- 位置:普通组件类
- 通用注解,把类交给 Spring 容器创建对象
@Controller- 位置:Web 层控制器类
- 接收前端请求,返回页面
@Service- 位置:业务层实现类
- 处理业务逻辑
@Repository- 位置:Dao 层;MyBatis 一般改用
@Mapper
- 位置:Dao 层;MyBatis 一般改用
@RestController- 位置:控制器类
- 等价
@Controller + @ResponseBody,返回JSON 数据(前后端分离)
三、Web 请求相关注解(只能写在 Controller 类 / 方法上)
@RequestMapping("路径")- 类 / 方法上方;GET、POST 请求都能接收
@GetMapping("路径")- 方法上,仅接收 GET 请求
@PostMapping("路径")- 方法上,仅接收 POST 请求
@RequestParam- 写在方法参数前;获取 url 问号后的参数
?name=xxx - 属性:
name参数名、required是否必传、defaultValue默认值
- 写在方法参数前;获取 url 问号后的参数
@PathVariable- 方法参数前;获取路径参数
/user/{id}
- 方法参数前;获取路径参数
@RequestBody- 方法参数前;POST 接收前端 JSON 字符串,转为 Java 对象
@ResponseBody- 类 / 方法;返回对象转为 JSON,响应浏览器
四、依赖注入 DI
@Autowired- 成员变量 /set 方法;优先按类型注入
@Qualifier("bean名称")- 和
@Autowired成对使用;按名称注入,解决同类型 Bean 冲突
- 和
@Resource- Java 自带注解;默认按名称注入
五、读取配置文件注解(yml/properties)
@Value("${配置项}")- 成员变量上方;读取单个配置
@ConfigurationProperties(prefix = "xxx")- 实体类上方;批量绑定一组配置,需要搭配
@Component
- 实体类上方;批量绑定一组配置,需要搭配
六、MyBatis 相关注解
@Mapper- Mapper 接口上方;生成代理对象
@MapperScan("com.xxx.mapper")- 启动类上方;一次性扫描全部 Mapper 接口
@Param("参数名")- Mapper 接口的方法参数前;xml 文件中使用该参数名
七、配置类注解
@Configuration- 类上方;标记当前类是配置类
@Bean- 只能写在 @Configuration 类里面的方法上;把返回的对象交给 Spring 容器管理