idea中lombok使用

什么是lombok

Lombok 是一个 Java 工具,通过使用其定义的注解,自动生成常见的冗余代码,提升开发效率。

举个例子,在 Java POJO 类上,添加 @Setter 和 @Getter 注解,自动生成 set、get 方法的代码。示例如下:

// 我们编写的 UserDO.java 代码
@Setter
@Getter
public class UserDO {
    private String username;
}

// 实际生成的代码(通过 UserDO.class 反编译)
public class UserDO {
    private String username;

    public UserDO() {
    }

    public void setUsername(final String username) {
        this.username = username;
    }

    public String getUsername() {
        return this.username;
    }
}

使用lombok

  1. 在idea plugins功能中搜索Lombok关键字, 选择install按钮安装,下图是已经安装好的Lombok,安装完成后需要重启Idea使plugin生效

  2. 项目中使用需要引入Lombok依赖

    <!-- 引入 Lombok 依赖 -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
        <version>1.18.12</version>
    </dependency>
    
  3. 添加Idea编码阶段对Lombok支持

    点击File -settings设置界面,选择Enable annotation processing选项,开启该项是为了让Lombok注解在编译阶段起到作用。

    以文章开始的例子来说明,UserDO中并没有写getset方法,在其他类中写入userDO.setUsername(""),会提示报错,开启该选项后。编码阶段就不会报错,且在编写代码时Idea会弹出智能提示

    在这里插入图片描述

lombok注解

@Getter注解,添加在属性上,生成对应的 get 方法。

@Setter注解,添加在属性上,生成对应的 set 方法。

@ToString注解,添加在上,生成 toString 方法。

@EqualsAndHashCode 注解,添加在上,生成 equals 和 hashCode 方法。

@AllArgsConstructor@RequiredArgsConstructor@NoArgsConstructor 注解,添加在上,为类自动生成对应参数的构造方法。

@Data注解,添加在上,是 5 个 Lombok 注解的组合。

  • 为所有属性,添加 @Getter@ToString@EqualsAndHashCode 注解的效果
  • 为非 final 修饰的属性,添加 @Setter 注解的效果
  • final 修改的属性,添加 @RequiredArgsConstructor 注解的效果

@Value 注解,添加在上,和 @Data 注解类似,区别在于它会把所有属性默认定义为 private final 修饰,所以不会生成 set 方法。

@CommonsLog、@Flogger、@Log、@JBossLog、@Log4j、@Log4j2、@Slf4j、@Slf4jX 注解,添加在上,自动为类添加对应的日志支持。

@NonNull 注解,添加在方法参数类属性上,用于自动生成 null 参数检查。若确实是 null 时,抛出 NullPointerException 异常。

@Cleanup 注解,添加在方法中的局部变量上,在作用域结束时会自动调用 #close() 方法,来释放资源。例如说,使用在 Java IO 流操作的时候。

@Builder 注解,添加在上,给该类加个构造者模式 Builder 内部类。

@Synchronized 注解,添加在方法上,添加同步锁。

@SneakyThrows 注解,添加在方法上,给该方法添加 try catch 代码块。

@Accessors 注解,添加在方法属性上,并设置 chain = true,实现链式编程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值