天天看点

Java:IDEA中Lombok的基本使用

环境配置

IDEA中安装Lombok插件

Java:IDEA中Lombok的基本使用

开启 AnnocationProcessors 让Lombok注解在编译阶段起到作用

Java:IDEA中Lombok的基本使用

使用示例

依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
</dependency>      

使用方式

package com.mouday;

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class User {
    private String name;
    private Integer age;
}
      

编译结果

package com.mouday;

public class User {
    private String name;
    private Integer age;

    public User() {
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return this.name;
    }

    public Integer getAge() {
        return this.age;
    }
}
      

代码确实简洁了不少,还有IDE的代码提示

注解说明

@Getter/@Setter 
- 作用类上,生成所有成员变量的getter/setter方法
- 作用于成员变量上,生成该成员变量的getter/setter方法

@ToString:作用于类,覆盖默认的toString()方法
@EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode
@NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。

@NoArgsConstructor:生成无参构造器;
@RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器;
@AllArgsConstructor:生成全参构造器

@Data:作用于类上,是以下注解的集合:
- @ToString 
- @EqualsAndHashCode 
- @Getter @Setter 
- @RequiredArgsConstructor

@Builder:作用于类上,将类转变为建造者模式
@Log:作用于类上,生成日志变量
@Cleanup:自动关闭资源
@SneakyThrows:可以对受检异常进行捕捉并抛出      

参考

Lombok的基本使用