部分注解的作用

个人学习小结,仅供参考,后续更新...

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时,才会调用该方法。:

 14.@Transactional

  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值