个人学习小结,仅供参考,后续更新...
1.@requestParam
@requestParam 的属性defaultValue可以设置请求参数的默认值:如下图,如果前端没有传递page和pageSize的值就会使用默认值
@requestParam还可以用在前端参数名和方法形参名不一致的情况时进行参数绑定
如图:
2. @Slf4j
@Slf4j用于日志输出,相当于输入
private final Logger logger = LoggerFactory.getLogger(当前类名.class);
如图:
可以打印日志到控制台
3.@RequestMapping
@RequestMapping 可以指定请求的实际访问地址
一个完整的请求路径,应该是类上的 @RequestMapping 的value属性 + 方法上的 @RequestMapping的value属性。
如图delete方法的请求路径为/depts/{id}:
4.PathVariable
@pathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx”) 绑定到操作方法的入参中。
如图就是将“/{ id }” 中的id值赋值给delete方法中的参数id。如果请求参数为/depts/1,那么这个方法就是根据id删除部门为1 的部门信息
5.@PostMapping
、@GetMapping
、@PutMapping
、@DeleteMapping
@PostMapping
、@GetMapping
、@PutMapping
、@DeleteMapping
是在@RequestMapping
基础进行细化的注解可以更明确地表达映射的Http方法。
一般 指定请求方式可以通过下面方法实现
@RequestMapping(value = "/depts",method = RequestMethod.GET)
而@GetMapping就相当于
RequestMethod.GET ,通过这个注解指定请求方式为GET
@PostMapping就相当于
RequestMethod.POST ,通过这个注解指定请求方式为POST
@PutMapping就相当于
RequestMethod.PUT,通过这个注解指定请求方式为PUT
@DeleteMapping就相当于
RequestMethod.DELETE,通过这个注解指定请求方式为DELETE
如图 指定请求方式为DELETE :
6.@RequestBody和@ReponseBody
@RequestBody将request的json转为实体类给后端
@ReponseBody将响应的实体类转为json发送给前端
如图:
通过@RequestBody注解就可以将前端传过来的数据转为dept实体作为add()的参数
7.@DateTimeFormat
@DateTimeFormat中的pattern属性用于指定前端传递日期时间的格式
如图:指定为2010-01-01这种格式。
8.@RestController
在Spring中@RestController的作用等同于@Controller + @ResponseBody。
在一个类上添加@Controller注解,表明了这个类是一个控制器类
如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@RestController,而不用在每个方法中标注@ResponseBody,简化了开发过程。
@RestController相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
详细介绍可参考【SpringBoot】带你一文彻底搞懂RestController和Controller的关系与区别_controller和restcontroller-CSDN博客
9.@Component
@Component
是Spring框架中的一个注解,用于标识一个类作为组件被Spring管理。它是一种通用的注解,可以用于标识任何类,使其成为Spring容器中可被自动扫描和实例化的Bean。也就是实现bean的注入
10.@Value
@Value注解通常用于外部配置的属性注入,具体用法为: @Value("${配置文件中的key}")
如图:
11.@ConfigurationProperties
@ConfigurationProperties和@Value类似 都是用来注入外部配置的属性的。不同在于
@Value注解只能一个一个的进行外部属性的注入。
@ConfigurationProperties可以批量的将外部的属性配置注入到bean对象的属性中。
例子:
12.@RestControllerAdvice
@RestControllerAdvice可以捕获整个应用程序中抛出的异常,并对它们进行处理。这样可以实现在整个应用程序范围内统一处理异常的目标;
@RestControllerAdvice注解实际上是@ControllerAdvice和@ResponseBody注解的组合。这意味着,当你使用@RestControllerAdvice注解时,异常处理方法的返回值将自动转换为HTTP响应的主体;
13.@ExceptionHandler
用于指定异常处理方法。常与@RestControllerAdvice配合使用,用于全局处理控制器里的异常。
@ExceptionHandler注解中可以添加参数,参数是某个异常类的class,代表这个方法专门处理该类异常。
如图,参数为Exception.class 代表捕获所有异常。
参数也可以为NumberFormatException.class,表示只有方法抛出NumberFormatException时,才会调用该方法。: