您的位置 首页 java

一款提高Java开发效率的工具

今天来介绍一款 Java 常用插件: Lombok

Lombok

通常在用Java代码开发项目过程中,都会建立各种各种的Bean类,如下:

 public class SearchReq {
     private  String searchParam;
    private int  number ;
    private boolean valid;
    public String getSearchParam() {
        return searchParam;
    }
    public  void  setSearchParam(String searchParam) {
        this.searchParam = searchParam;
    }
    public int getNumber() {
        return number;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    public boolean isValid() {
        return valid;
    }
    public void setValid(boolean valid) {
        this.valid = valid;
    }
}  

我们新建一个 Bean 后,通常都会给这个增加各种各样的setter和getter方法;
Lombok 这款插件可以让我们的代码变得简洁清爽,而且功能也能满足需求,如下所示:

 import lombok.Data;

@Data
public class SearchReq {
    private String searchParam;
    private int number;
    private boolean valid;
}  

我们引入lombok插件后,对Bean类增加了 @Data 注释,这就相当于给类默认增加了setter和getter方法,但是代码直接从20多行缩到了10行以内,类的成员变量越多,感受会越明显。

另外还有一个好处,就是不用再头疼单元测试的覆盖率了,在开发的过程中,我们会同步去写很多单元测试来保证程序功能的正确性,但是像setter和getter这种方法通常会因为没有被调用到而导致覆盖率会偏低。

假设我们有下面一段 测试用例

 import org. junit .jupiter.api.Test;
public class SearchReqTest {
    @Test
    public void testBean(){
        SearchReq searchReq = new SearchReq();
        System.out.println(searchReq.getSearchParam());
        System.out.println(searchReq.getNumber());
        System.out.println(searchReq.isValid());
    }
}  

在没有用lombok插件的情况下:

我们通过图片的右侧发现覆盖率在50%左右,图片的左侧可以看到setter方法并没有覆盖到,因此覆盖率受影响了,而实际情况是setter方法可能是不需要去覆盖单元测试的,因为代码逻辑中并没有用到。

这时候我们再来看下使用lombok插件的情况:

可以看到代码覆盖成100%了,尽管setter方法也没有覆盖到,依旧不影响代码覆盖率,所以lombok不仅可以使代码变得简洁,提高开发效率,也很好地避免了代码覆盖率误报的问题。


Lombok的使用方式:
第1步:pom.xml中引入lombok插件

 <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.22</version>
      <scope>compile</scope>
</dependency>  

第2步:在Idea中安全lombok插件

Idea插件

文章来源:智云一二三科技

文章标题:一款提高Java开发效率的工具

文章地址:https://www.zhihuclub.com/190697.shtml

关于作者: 智云科技

热门文章

网站地图