lombok的基本使用

lombok是一个可以帮助我们大幅度简化代码的Java代码工具。
比如JavaBean中private的成员变量需要getter和setter方法,大量的getter和setter方法在一个类中会让我们的类显得非常长。使用lombok工具就可以省去这些代码。

使用方法

在pom文件中添加配置

此处未指定版本,你也可以指定版本

<dependency>
	<groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

idea安装lombok插件

此步骤也可省略,不安装插件只是在idea的Structrue窗口看不到lombok自动生成的方法,安装插件之后可以看到由lombok自动生成的方法。
在这里插入图片描述
安装步骤
打开设置 =》Plugins ,搜索lombok,点击install,重启idea。
在这里插入图片描述

常用注解

@Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
@Getter 注解在类或字段,注解在类时为所有字段生成getter方法,注解在字段上时只为该字段生成getter方法。
@EqualsAndHashCode 注解在类,生成hashCode和equals方法。
@Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
@RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
@NoArgsConstructor 注解在类,生成无参的构造方法。
@NonNull 注解在类,定义字段不能为空
@Builder 声明实体,表示可以进行Builder方式初始化

@NoArgsConstructor

相当于没使用lombok时的代码

public class PersonDTO {
    @NonNull
    private String name;
    private Integer age;

    public PersonDTO() {}
}

@RequiredArgsConstructor

相当于没使用lombok时的代码

public class PersonDTO {
    @NonNull
    private String name;
    private Integer age;
    
    public PersonDTO(String name) {
        this.name = name;
    }
}

@AllArgsConstructor

相当于没使用lombok时的代码

public class PersonDTO {
    @NonNull
    private String name;
    private Integer age;

    public PersonDTO(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}

@Builder

传统实例化对象的方式

PersonDTO dto = new PersonDTO();
dto.setName("雪");
dto.setAge(18);

使用@Builder模式,这种方式更优雅。但是@Builder会将类的无参构造方法私有化,如果再想使用new PersonDTO();需要自己手动在类中定义一个无参构造方法。如果这个类需要能被当作一个Bean返回到前端还需要能够被序列化,我们需要给类再加一个@Getter。
一般地,我们可以这样设计实体

@Builder
@Getter
public class PersonDTO {
    private String name;
    private Integer age;
}

Builder模式赋值新对象

PersonDTO dto = PersonDTO.builder()
                .name("雪")
                .age(18)
                .build();
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三毛村滴雪鱼粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值