SpringBoot常用注解
注解是面试必问的,而且在开发中使用频率也很高。
Spring注解
在类/方法/属性上加注解,可以被Spring框架管理。
@XXController
大多用在Web层的类上,标注当前类为一个控制器
注解 | 功能 | 参数 | 备注 |
@Controller | 标注一个控制器 | value |
一代目yyds~ |
@RestController |
标注一个RESTful 服务的控制器,相当于@ResponseBody + @Controller,代价是失去了@Controller返回指定页面的功能,仅能返回返回JSON,XML或自定义mediaType内容。因为返回的数据会直接写入 HTTP 响应体中,而不会经过视图解析器进行渲染。 @RequestMapping默认采用@ResponseBody。 |
value |
该注解还提供了自动的数据序列化和反序列化功能。 |
@RequestBody |
一般在控制器方法上进行此注解,接收前端传递给后端的请求体中JSON对象的字符串,将其绑定到方法的参数实例的Java Bean。 JSON字符串中的key必须对应Java Bean中的属性名,否则无法接收到相关key的值。
|
required默认为true,会检查请求体中是否有数据 |
GET请求没有请求体,所以不能使用@RequestBody。POST请求必须要在请求头中声明数据的类型Content-Type。Spring MVC通过使用系统默认配置的HttpMessageConverters解析请求体中的数据,然后把数据绑定到相应的Java Bean上。 对于一个用户请求,只可以使用一个@RequestBody注解,却可以使用多个@RequestParam注解。 |
RESTful Web 服务
REST(Representational State Transfer)是一种设计风格,用于构建分布式系统中的 Web 服务。
RESTful Web 服务基于 HTTP 协议,使用不同的 HTTP 方法(如 GET、POST、PUT、DELETE)来执行不同的操作,通过 URL 定位资源,并使用 JSON、XML 等格式来传输数据。
其它
@Autowired对标注的变量自动注入
XXMapping
用于匹配路径
注解 | 功能 | 参数 | 备注 |
@Controller | 标注一个控制器 | value |
一代目yyds~ |
@RequestMapping |
|
value |
该注解还提供了自动的数据序列化和反序列化功能。 |
@PostMapping | |||
Mybatis注解
@Mapper标注一个Mapper接口,可以被Spring框架管理
其它注解
Swagger
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
@ApiOperation("分类的控制器")
参考文献
org.springframework.web.bind.annotation (Spring Framework 5.2.25.RELEASE API)