lomck中相关注解和日常使用

  • 具体参考https://www.cnblogs.com/ziyue7575/p/11606864.html
在写代码中主要使用:
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true) //继承父类时使用
public class PayLogDTO extends BaseRequestDTO {}
  • data
    @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法,

@Data(staticConstructor=”methodName”)来生成一个静态方法,返回一个调用相应的构造方法产生的对象。

  • Setter和Getter
    @Setter:注解在属性,类上;为属性提供 setting 方法

@Getter:注解在属性,类上;为属性提供 getting 方法,@Getter(lazy=true) 懒加载

  • Value
    @Value :Getter、toString()、equals()、hashCode()、一个全参的构造方法

  • Builder
    @Builder:Builder内部类和全字段的构造器,没有Getter、Setter、toString()。

    Person build = Person.builder().phone(1).name(2).build();

  • ToString
    @ToString:toString()方法:@ToString(exclude={“param1”,“param2”})来排除param1和param2两个成员变量,或者用@ToString(of={“param1”,“param2”})来指定使用param1和param2两个成员变量

  • EqualsAndHashCode
    @EqualsAndHashCode:equals、canEqual(用于判断某个对象是否是当前类的实例,生成方法时只会使用类中的非静态和非transient成员变量)和hashcode方法,@EqualsAndHashCode(exclude={“param1”,“param2”})来排除param1和param2两个成员变量,或者用@EqualsAndHashCode(of={“param1”,“param2”})来指定使用param1和param2两个成员变量

继承类一般都会加上:@EqualsAndHashCode(callSuper=true)

  • NonNull
    @NonNull:
    标记在字段上,表示非空字段。标注在方法参数上,会在第一次使用该参数是判断是否为空,如果参数为空,则抛出一个空指针异常 。

  • 构造器
    @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法,有时候我们会使用到单例模式,这个时候我们需要将构造器私有化,那么就可以使用这样一个属性access设置构造器的权限.
    当类中有final字段没有被初始化时,编译器会报错,但是也可用@NoArgsConstructor(force = true),那么Lombok就会为没有初始化的final字段设置默认值 0 / false / null, 这样编译器就不会报错

@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法,(不包括已初始化的final字段)
@RequiredArgsConstructor: 增加必选参数构造器,只能是类中所有带有 @NonNull注解的和以final修饰的未经初始化的字段才会被纳入 RequiredArgsConstructor 构造器中,@RequiredArgsConstructor(staticName=“of”),则意味着这个类不能用构造方法构造出来,必须通过 ThisClass.of(…)方法才能构造出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值