62

背景分析

在实际的java项目中我们创建的所有pojo类几乎都要为属性添加set/get/toString等相关方法,所有的日志记录相关类可能都要创建日志等对象,这些样板代码既没有技术含量,又影响着代码的美观,同时重复的编码过程会在无形中加大我们的工作量。 此时Lombok应运而生。

lombok简介

概述

Lombok是一个第三的Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来告诉编译过程中的编译工具,在源代码编译成字节码的过程中,在字节码中添加一些量样板代码。

常用注解分析

  • @Setter 用于为描述的类生成setter方法,不包含final修饰属性。
  • @Getter 用于为描述的类生成getter方法。
  • @ToString 用于为描述的类添加toString方法。
  • @EqualsAndHashCode 用于为描述的类,生成hashCode和equals方法。
  • @NoArgsConstructor 用于为描述的类生成无参的构造方法。
  • @AllArgsConstructor 用于为描述的类生成包含类中所有字段的构造方法。
  • @Data用于为描述的类生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
  • @Slf4J 用于为描述的类添加一个日志属性对象。

lombok安装

idea中的安装配置

第一步:打开idea的设置窗口,找到plugins菜单,搜索lombok进行安装,如图所示:

image.png

第二步:启动注解处理,如图所示:

image.png

第三步:重启idea(可选,有的idea版本需要)。

sts中的安装配置

自己百度尝试。

lombok在maven项目中应用

第一步:添加lombok依赖。

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

第二步:在类上应用lombok注解。

@Data 
@NoArgsConstructor 
@AllArgsConstructor 
public class Goods {
    private Long id;
    private String name;
    private String remark;
    private Date createdTime;
}

第三步:编写单元测试类检测Lombok注解应用

@Slf4j
@SpringBootTest
public class GoodsTests{
     @Test
     void testGoods(){
        Goods g=new Goods();
        g.setId(100L);
        g.setName("Lombok");
        log.info("id的值为{}",g.getId());
        log.info("name的值为{}",g.getName());
     }
}

总结(Summary)

本小节主要对lombok做了一个分析,安装和配置,并结合实际项目讲解了lombok的应用场景及具体应用过程。


Jason
4.2k 声望17.2k 粉丝

以终为始,闭环迭代,持续提高。