searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Java常用注解的一些总结

2023-06-27 03:27:41
16
0
lombok
@data :注在类上,提供类的get,set,equals,hashcode,canequal,tostring
@AllArgsConstructor:提供类的全参构造
@NoArgsConstructor:提供类的无参构造
@Setter : 注在属性上,提供 set 方法
@Getter : 注在属性上,提供 get 方法
@EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log
 
 
 
@Expose
 
@Validated 校验
@RequestMapping注解是用来映射请求的,即指明处理器可以处理哪些URL请求,该注解既可以用在类上,也可以用在方法上。@RequestMapping的地址可以是uri变量,并且通过@PathVariable注解获取作为方法的参数。也可以是通配符来筛选请求地址。
@RequestMapping controller处理哪些请求,相当于Servlet里的web.xml配置
 

@RequestParam

用法@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)
请求参数绑定到控制器方法参数上
  1. value:参数名
  2. required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
  3. defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值
 

@Builder和@NoArgsConstructor冲突

Entity上加上@Builder,会默认为类加上全参构造函数,且提供以建造器模式构造对象的方法。但此时因为显示声明了构造器,默认的无参构造器就失效了,就不能通过new Obj()的方式创建对象。这是自然想到加@NoArgsConstructor注解生成无参构造函数以便使用new Obj()方式创建对象,很多框架中都需要反射调用无参构造函数。但是如果显式声明了@NoArgsConstructor,lombok就不会生成全参构造函数,而@Builder中会用到全参构造函数,所以冲突。
再加上@AllArgsConstructor可解决。
 
@Builder
@NoArgsConstructor
@AllArgsConstructor
同时使用

0条评论
0 / 1000
芋泥麻薯
9文章数
1粉丝数
芋泥麻薯
9 文章 | 1 粉丝
原创

Java常用注解的一些总结

2023-06-27 03:27:41
16
0
lombok
@data :注在类上,提供类的get,set,equals,hashcode,canequal,tostring
@AllArgsConstructor:提供类的全参构造
@NoArgsConstructor:提供类的无参构造
@Setter : 注在属性上,提供 set 方法
@Getter : 注在属性上,提供 get 方法
@EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log
 
 
 
@Expose
 
@Validated 校验
@RequestMapping注解是用来映射请求的,即指明处理器可以处理哪些URL请求,该注解既可以用在类上,也可以用在方法上。@RequestMapping的地址可以是uri变量,并且通过@PathVariable注解获取作为方法的参数。也可以是通配符来筛选请求地址。
@RequestMapping controller处理哪些请求,相当于Servlet里的web.xml配置
 

@RequestParam

用法@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)
请求参数绑定到控制器方法参数上
  1. value:参数名
  2. required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
  3. defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值
 

@Builder和@NoArgsConstructor冲突

Entity上加上@Builder,会默认为类加上全参构造函数,且提供以建造器模式构造对象的方法。但此时因为显示声明了构造器,默认的无参构造器就失效了,就不能通过new Obj()的方式创建对象。这是自然想到加@NoArgsConstructor注解生成无参构造函数以便使用new Obj()方式创建对象,很多框架中都需要反射调用无参构造函数。但是如果显式声明了@NoArgsConstructor,lombok就不会生成全参构造函数,而@Builder中会用到全参构造函数,所以冲突。
再加上@AllArgsConstructor可解决。
 
@Builder
@NoArgsConstructor
@AllArgsConstructor
同时使用

文章来自个人专栏
【Java】
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
1
1