Featured image of post Lombok注解学习

Lombok注解学习

@EqualsAndHashCode

一般标记在子类上

当callSuper = true

根据子类自身的字段值和从父类继承的字段值 来生成hashcode,当两个子类对象比较时,只有子类对象的本身的字段值和继承父类的字段值都相同,equals方法的返回值是true

当callSuper = false

根据子类自身的字段值 来生成hashcode, 当两个子类对象比较时,只有子类对象的本身的字段值相同,父类字段值可以不同,equals方法的返回值是true

例子

@Accessors

fluent 属性

不写默认为false,当该值为 true 时,对应字段的 getter 方法前面就没有 get,setter 方法就不会有 set

chain 属性

不写默认为false,当该值为 true 时,对应字段的 setter 方法调用后,会返回当前对象

prefix 属性

该属性是一个字符串数组,当该数组有值时,表示忽略字段中对应的前缀,生成对应的 getter 和 setter 方法

@RequestBody

主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交

@ResponseBody

表示该方法的返回结果直接写入 HTTP response body 中,格式为 json

@Valid

参数校验

@RequestParam

不加@RequestParam参数为非必传,加@RequestParam写法参数为必传。但@RequestParam可以通过@RequestParam(required = false)设置为非必传

@RequestParam可以通过@RequestParam(“userId”)或者@RequestParam(value = “userId”)指定传入的参数名

@RequestParam可以通过@RequestParam(defaultValue = “0”)指定参数默认值

@PathVariable

请求路径中的参数