用Lombok甩掉get()和set()

前言

代码里面,见到的最多的就是实体Dao(Domain)了。这里的实体主要分为2种,一种是数据库访问层的实体Domain,直接用来定义某个数据库表的实体,里面定义的每个字段都跟数据库表中的每个字段一一对应。也是系统跟数据交互而用来存储数据的“介质”。另一种是代码里为了方便,把多个参数或变量定义为一个实体,一般用来:方法传参、接口对外对象、设计模式等。

一、传统set和get方法

既然是实体,里面少不了要定义变量,而实体变量的值的设置和获取,由set()和get()方法实现。标准set和get方法定义如下:

public class peopleDao{

private Long id;

private Integer age;

private String name;

private String sex;

public void setId(Long id){

    this.id = id;

}

publicLonggetId(){

    return id;

}

public void setAge(Integer age){

    this.age = age;

}

public Integer getAge(){

    return age;

}

public void setId(String name){

    this.name = name;

}

public String getName(){

    return name;

}

public void setId(String sex){

    this.sex = sex;

}

public String getSex(){

    return sex;

}

}

方法setXxx()参数为该变量的值,即我们在给该变量定义值的时候设置的。

方法getXxx()无参,直接返回该变量的在主内存的值。

可以看到满篇的set和get方法,如果一个实体有20个变量或以上,那么整个class看起来就会非常长而且臃肿。既没有技术含量,又影响着代码的美观。要增加或修改的时候变得麻烦和易错。而且set和get方法,也存在线程同步问题...

二、Lombok的set和get方法

Lombok是一种自动接通你的编辑器和构建工具的一个Java库。lombok其实就是帮助我们编写getter或者equals方法的一个“工具”。官方网站:Lombok官网

2.1 lombok的使用

首先引入maven依赖:

    

          org.projectlombok

          lombok

          1.16.18

          provided

    

2.2 使用了lombok的实体

@Getter

@Setter

public class peopleDao{

private Long id;

private Integer age;

private String name;

    private String sex;

}

看到没有,使用了lombok的实体,变得非常简洁和美观。而且执行起来效率变得非常快,这是因为lombok库直接调用了java源码类库而实现,具体可以详看lombok源码实现。

LomBok原理图

只是通过简单的@Getter @Setter 注解便可以实现变量的set和get方法,除此外还有@ToString、@NoArgsConstructor (构造函数)等,诸多注解供你使用,为你节省大量宝贵时间和代码提高开发效率。

注意:使用Lombok时,变量要为驼峰形式:aaBb这种,不然注解没法找到变量。


文章来自CSDN技术博客:用Lombok甩掉get()和set()

你可能感兴趣的:(用Lombok甩掉get()和set())