Lombok

Lombok介绍

本文主要介绍了Lombok及其使用,仅供学习参考。

  • 什么是Lombok
  • 为什么要使用Lombok
  • 如何使用Lombok

1.什么是Lombok?

Lombok官网有这样一段话:
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again. Early access to future java features such as val, and much more.

大致意思是说:Lombok是一个能够自动导入编辑器或者构建工具的java库,为我们生成setter/getter、equals等pojo的模板代码。还能提前访问未来的java功能,例如var关键字等等。

也就是说:Lombok是一个插件,一个jar包,一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。

2.为什么要使用Lombok?

我们在编写pojo类的时候,定义了属性之后,就是一顿快捷键,自动生成setter/getter、toString()、构造等模版代码,其实也是挺快的,那么在使用了Lombok之后呢,属性还是需要定义的,只是通过Lombok的注解,可以帮我们不显示的自动生成这些模板代码。减少pojo类的代码量,使其更加精简。乍一看感觉一般般,用不用Lombok看个人喜好。

3.如何使用Lombok?

使用之前,需要在IDEA中下载Lombok的插件。

在IDEA的maven项目中,在pom文件中导入Lombok的依赖:

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

关于lombok的注解:

@Getter:为注解的字段生成get方法
@Setter:为注解的字段生成set方法,它的AccessLevel属性可以设置访问级别,如设置为PROTECTED,生成的set方法访问级别就是protected
@ToString:为注解的类生成toString字段,可以通过exculde属性设置哪些字段不在toString方法中
@EqualsAndHashCode(exclude = {"id"}):为注解的类生成equals和hashCode方法,可以通过exclude属性指定排除哪些属性不参与equals对比
@NonNull:为注解的参数生成一个非空的检查,对于一般方法,检查语句将被插入到方法的最顶部,对于构造函数,检查语句将在任何显式this()和super()调用之后立即插入
@NoArgsConstructor:将生成一个无参的构造函数,如果你的变量中有被final修饰的,会报错,解决办法是添加force = true属性
@RequiredArgsConstructor(staticName="of"):将生成一个名为of的静态方法和一个protected修饰的构造函数,如果你的类中有final修饰的属性,该属性会当成of的入参
@AllArgsConstructor:将生成一个所有参数的构造函数

建议使用:
@Data:相当于你在类上注解了@Getter/@Setter/@ToString/@EqualsAndHashCode,并且都是默认的参数。
       如果添加了staticConstructor="of"属性,则相当于还在类上添加了@RequireArgsConstructor(staticName = "of")注解

示例,

导入lombok的jar:

@Data
public class User {
    private Long id;

    public static void main(String[] args) {
        User user = new User();
        user.setId(1L);
        user.toString();
        user.equals("");
        user.hashCode();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值