lombok的使用

Posted eternityz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lombok的使用相关的知识,希望对你有一定的参考价值。

项目开发的时候,发现原本的项目代码实体类中没有属性的getter和setter
项目中的代码是这样的东东

但是在实例化该对象的时候,又发现会调用这些方法

 PartyType partyType = new PartyType();
 partyType.setId(dingDingDepartMentVO.getId());
 partyType.setName(dingDingDepartMentVO.getName());

很是不明白,然后就有前辈告诉我—–“lombok”
所以就是搜索了一些资料来看看,lombok是为了消除创建实体类时候需要很多的冗余代码所设计的,来看看具体的事例:
没有使用lombok的情况:

public class Student {
    private Integer id;

    private String studentid;

    private String studentname;

    private String password;

    private Integer grade;

    private String studentTabcol;

    private Date unusedbegintime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getStudentid() {
        return studentid;
    }

    public void setStudentid(String studentid) {
        this.studentid = studentid == null ? null : studentid.trim();
    }

    public String getStudentname() {
        return studentname;
    }

    public void setStudentname(String studentname) {
        this.studentname = studentname == null ? null : studentname.trim();
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    public Integer getGrade() {
        return grade;
    }

    public void setGrade(Integer grade) {
        this.grade = grade;
    }

    public String getStudentTabcol() {
        return studentTabcol;
    }

    public void setStudentTabcol(String studentTabcol) {
        this.studentTabcol = studentTabcol == null ? null : studentTabcol.trim();
    }


    public Date getUnusedbegintime()
    {
        return unusedbegintime;
    }


    public void setUnusedbegintime(Date unusedbegintime)
    {
        this.unusedbegintime = unusedbegintime;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", studentid='" + studentid + ''' +
                ", studentname='" + studentname + ''' +
                ", password='" + password + ''' +
                ", grade=" + grade +
                ", studentTabcol='" + studentTabcol + ''' +
                ", unusedbegintime=" + unusedbegintime +
                '}';
    }


}

这是使用了lombok的情况:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
    private Integer id;

    private String studentid;

    private String studentname;

    private String password;

    private Integer grade;

    private String studentTabcol;

    private Date unusedbegintime;
}

相信不用多说什么,大家也能看到两种的区别。

@Data 该注解能够自动创建出来get、set、toString、eaquls、hashCode等方法 
@NoArgsConstructor 这个是无参构造器 
@AllArgsConstructor 全参构造器 
@Setter set方法 
@Getter get方法 

当然还有一些具体的用法和详细的问题可以参考官方网站,这里有一个小视频,讲的挺好的
Tip:在IJ安装lombok的插件
首先下载lombok的依赖包,官网就能直接下载
如果是maven中的话,在pom.xml中添加依赖

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

然后要在IJ中装一下插件:
找到Preference
技术图片

然后选择plugins,输入lombok,没有的话选择下面中间的按钮,就会自动安装
技术图片

接下来就能够实用了,当然这种方法没有谁说一定比传统的好,希望能给想了解lombok的用户有一点点帮助

当时做记录的时候忘记记录原文链接了,作者看到之后可以私信我,我补上原文链接.

以上是关于lombok的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用Lombok简化你的代码

使用lombok 简化代码

lombok的使用

springboot的lombok

使用lombok的利弊

lombok 简化 Java 代码