Lombok介绍

Lombok介绍

为什么要使用

减少冗余代码, 提升逼格.

安装IDEA插件

File -> Settings -> Plugins 搜索Lombok进行安装. 如遇到网络问题导致不能在线安装的, 通过http://plugins.jetbrains.com/plugin/6317-lombok-plugin 下载离线安装包, 点下图”Install plugin from disk…”进行安装

 

 

加入Lombok依赖

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

Lombok在编译完后, 就没他事了, 所以Scope可以设置成provided, 这样打出来的包将不会包含lombok.jar

使用Lombok

@Getter, @Setter

可以标记类, 给所有非静态成员生成get/set方法. 下面两种写法效果等同:

正常写法

Lombok写法

class User {

    private String userId;

    private String username;

    public String getUserId() {

        return userId;

    }

    public void setUserId(String userId) {

        this.userId = userId;

    }

    public String getUsername() {

        return username;

    }

    public void setUsername(String username) {

        this.username = username;

    }

}

class User {

    @lombok.Getter

    @lombok.Setter

    private String userId;

 

    @lombok.Getter

    @lombok.Setter

    private String username;

}

@ToString

生成toString方法, 默认将所有字段输出, 可以使用用exclude/of指定排除字段或包含字段

@EqualsAndHashCode

自动重写hashCode和equals方法. 同@ToString, 可以指定字段

@Slf4j

生成一个slf4j的log变量

正常写法

class User {

    private static final Logger log = LoggerFactory.getLogger(User.class);

}

Lombok写法

@Slf4j

class User {

}

完整比较

Lombok写法

@lombok.NoArgsConstructor
@lombok.AllArgsConstructor
@lombok.EqualsAndHashCode(of = "name")
@lombok.ToString(exclude = "password")
@lombok.extern.slf4j.Slf4j
public class LombokDemo {

    @lombok.Getter
    @lombok.Setter
    private String name;

    @lombok.Getter
    @lombok.Setter
    private String password;

}

正常写法

public class LombokDemo {

    private static final Logger log = LoggerFactory.getLogger(LombokDemo.class);

    private String name;

    private String password;

    public LombokDemo() {}

    public LombokDemo(String name, String password) {
        this.name = name;
        this.password = password;
    }

    public String getName() {
        return name;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        LombokDemo that = (LombokDemo) o;

        return name != null ? name.equals(that.name) : that.name == null;
    }

    @Override
    public int hashCode() {
        return name != null ? name.hashCode() : 0;
    }

    @Override
    public String toString() {
        return "LombokDemo{" +
                "name='" + name + '\'' +
                '}';
    }
}

 

总结

Lombok用起来比较简单的, 网上有很多文章, 上面也将常用的进行举例介绍. 还有一个学习方法就是直接在IDE里面敲下代码看看效果, 或者看下它的java doc, 也可让我们快速掌握lombok.

转载于:https://www.cnblogs.com/xubb/p/8486891.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值