IDEA插件Lombok解决get/set等冗余代码

IDEA插件Lombok解决get/set等冗余代码

Lombok是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注解,用来消除Java类中的大量样板代码。

1. Lombok 环境配置

  1. lombok.jar 包下载并导入:https://projectlombok.org/download
  2. IDEA Lombok 插件安装:Settings >> Plugins 搜索安装
  3. IDEA 打开注解开发:Settings >> Build >> Compiler >> Enable annotation processing

IDEA插件Lombok

2. Lombok 基本用法

IDEA插件Lombok

@Getter / @Setter 源码

// 生成对应属性的 get/set 方法
@Target({ElementType.FIELD, ElementType.TYPE})  // 可作用在属性、类/接口/枚举上
@Retention(RetentionPolicy.SOURCE) // 在源码编译阶段自动生成对应方法
public @interface Getter {   // Getter/Setter
    AccessLevel value() default AccessLevel.PUBLIC; // 更改 get/set 方法的权限修饰符
    ...
}

@ToString 源码

// 生成包含属性的 toString 方法
@Target({ElementType.TYPE})  // 只能作用在类/接口/枚举上
@Retention(RetentionPolicy.SOURCE)
public @interface ToString {
    boolean includeFieldNames() default true;
    String[] exclude() default {}; // 排除部分属性
    String[] of() default {}; // 包含部分属性
    ...
}

@NoArgsConstructor / @AllArgsConstructor 源码

// 生成无参 / 有参构造方法
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface NoArgsConstructor { // NoArgsConstructor/AllArgsConstructor
    ...
    AccessLevel access() default AccessLevel.PUBLIC; // 设置方法的权限修饰符
    ...
}

@Data 源码

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface Data {
    String staticConstructor() default "";
}
2.1 注解组合×3

@Data
@NoArgsConstructor
@AllArgsConstructor

demo - 生成 get / set / equals / canEqual / hashCode / toString / 无参构造 / 有参构造

//@Getter // 生成类中所有属性的 get 方法
//@Setter // 生成类中所有属性的 set 方法
//@ToString // 生成类中所有属性的1个 toString 方法
//@ToString(exclude = {"email", "password"}) // 生成排除指定属性的 toString 方法(排除一部分)
//@ToString(of = {"id", "username"}) // 生成包含指定属性的 toString 方法(包含一部分)
@Data // 生成 get/set/equals/canEqual/hashCode/toString
@NoArgsConstructor // 生成类的无参构造
@AllArgsConstructor // 生成类的所有参数的有参构造
public class User {
    private Integer id;
    private String username;
    private String password;
    private String email;
}

IDEA插件Lombok

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜源Jerry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值