IDEA如何使用Lombok插件

你是否还在为写getter/setter/toString/Constructor而烦恼呢,现在不用再为此烦恼了,因为我们有了Lombok!

什么是Lombok?

Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。

让我们来看这样一个例子:

public class Dept implements Serializable {
    private Long deptno;
    private String dname;
    private String db_source; 
}

要使用这个对象,必须还要写一些getter和setter方法,可能还要写一个构造器、equals方法、或者hash方法.这些方法很冗长而且没有技术含量,我们叫它样板式代码。

lombok的主要作用是通过一些注解,消除样板式代码,像这样:

@Data // get/set等 
public class Dept implements Serializable {
    private Long deptno;
    private String dname;
    private String db_source; 
}

这个时候我们通过查看IDEA中的Structre我们会发现他多了这些东西:
在这里插入图片描述
我们可以看到这里多了getter/setter/toString/equals/hashCode等方法。

当然有人觉得@Data这个注解粒度太粗,Lombok也给我们提供了更细粒度的注解,比如:@getter,@Setter,(这两个是field注解)@toString(这个是类注解)等一系列的注解。

如何使用Lombok?

Lombok的使用其实是非常简单的,首先我们需要引入相应的maven包:

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

Lombok的scope=provided,说明它只在编译阶段生效,不需要打入包中。事实正是如此,Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件。

其次我们需要在IDEA中下载Lombok的插件:
Alt+Ctrl+S打开设置
在这里插入图片描述
这里我们可以看到它其实是有非常多的注解来让我们使用的,各位看官有兴趣可以一个个试一下。

来简单测试一下吧!

@Data // get/set等
@NoArgsConstructor  // 无参构造函数
@AllArgsConstructor // 全参构造函数
@Accessors(chain = true) // 链式访问
public class Dept implements Serializable {
    private Long deptno;
    private String dname;
	private String db_source; 

    public static void main(String[] args) {
        Dept dept = new Dept();
        dept.setDeptno(11L).setDname("研发部").setDb_source("DB01");
    }
}

可以看到我这里new了一个无参的对象,并且我可以调用set方法,为什么呢,答案都在Lombok。
好了Lombok的简单介绍到此就结束了。

我又回来了,哈哈,上面的链式访问可能有人不懂,我们来进行一下简单的说明:
如果我们没有加@Accessors(chain = true)这个注解,那么我们是不可能有这一段代码的:

dept.setDeptno(11L).setDname("研发部").setDb_source("DB01");

那我们的代码会是什么样的,既然你诚心诚意的问了……
咳咳,不好意思没忍住,如果没有@Accessors 这个注解我们的代码是这样的:

@Data // get/set等
@NoArgsConstructor  // 无参构造函数
@AllArgsConstructor // 全参构造函数
@Accessors(chain = true) // 链式访问
public class Dept implements Serializable {
    private Long deptno; 
    private String dname;
private String db_source; 

    public static void main(String[] args) {
        Dept dept = new Dept();
        //dept.setDeptno(11L).setDname("研发部").setDb_source("DB01");
  
        dept.setDeptno(11L);
        dept.setDname("研发部");
        dept.setDb_source("DB01");
    }
}

随便提一下@Accessors(chain = true) chain默认为false哦,所以如果想使用链式访问,我们就需要设置它为true。

好了,各位看官,Lombok的简单使用到这里就真的结束了,咱们有缘再会。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值