Lombok的安装和使用介绍

一、Lombok简介

 

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法,官网有详细的使用说明和视频. 

lombok官网:https://projectlombok.org/ 
jar包下载路径:https://projectlombok.org/download 

 

lombok features:https://projectlombok.org/features/all

 

 

 

 

二、安装 

1.下载 lombok.jar 
2.官网说是可以双击安装,,,我用这种方法不可行 
2.手动安装 
(1)将lombok.jar移到eclipse的安装目录 
这里写图片描述

(2)在eclipse.in文件最后加入下面两行

-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar

============= 
-javaagent:xxx.jar 的jar名称 需要与根目录下的jar名一致, 
不一致,可能会出现eclipse无法启动的情况。

(3)重启eclipse,进行代码测试

 

 

三、Lombok的使用

安装lombok之后,不要忘记要把lombok.jar这个包加入到你的项目中. 
使用Maven的同学添加如下依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.6</version>
</dependency>
  •  

接下来就可以在我们的类中使用注解的方式给类添加setter/getter方法或者构造方法,下面给同学介绍比较常用的一些注解.

@Getter and @Setter

你可以给任意字段添加@Getter/@Setter的注解,让lombok给我们自动的生成setter/getter方法. 
没用lombok前你的代码需要这样写:

01 public class GetterSetterExample {
02   private int age = 10;
03   private String name;
04
05   public int getAge() {
06     return age;
07   }
08
09   public void setAge(int age) {
10     this.age = age;
11   }
12   
13   protected void setName(String name) {
14     this.name = name;
15   }
16 }
  •  

使用了lombok后你的代码是这样的:

01 import lombok.Getter;
02 import lombok.Setter;
03 public class GetterSetterExample {
04    @Getter@Setter 
05    private int age = 10;
06    @Getter@Setter
07    private String name;  
08 }
  •  

使用了Setter@Getter,瞬间代码简洁了很多,而且也不用担心字段修改后,对应的setter和getter方法需要修改. 
Setter@Getter可以贴在字段上,是给该字段提供setter/getter方法.如果贴在类上,表示给该类下的所有字段添加setter和getter方法,上面的代码还可以这样写:

01 import lombok.Getter;
02 import lombok.Setter;
03 @Getter@Setter 
04 public class GetterSetterExample {
05    private int age = 10;
06    private String name;  
07 }
  •  

@ToString

所有的类都可以使用@ToString注解来生成该类的toString()方法.默认情况下,它将打印你的类名以及每个字段,按逗号分隔. 
没用lombok前你的代码需要这样写:

01 public class ToStringExample {
02  private int age;
03  private String name;
04  @Override
05  public String toString() {
06      return "ToStringExample [age=" + age + ", name=" + name + "]";
07  }
08 }
  •  

使用了lombok后你的代码是这样的:

01 @ToString
02 public class ToStringExample {
03  private int age;
04  private String name;
05 }
  •  

@NoArgsConstructor and @AllArgsConstructor

@NoArgsConstructor:可以给我们定义的类自动的添加无参构造函数. 
@AllArgsConstructor:可以给我们定义的类添加所有参数的构造函数. 
没用lombok前你的代码需要这样写:

01 public class ConstructorExample {
02  private int age;
03  private String name;
04  public ConstructorExample() {
05      super();
06  }
07  public ConstructorExample(int age, String name) {
08      super();
09      this.age = age;
10      this.name = name;
11  }
12 }
  •  

使用了lombok后你的代码是这样的:

01 @NoArgsConstructor@AllArgsConstructor
02 public class ConstructorExample {
03  private int age;
04  private String name;
  •  

@EqualsAndHashCode

默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。

@Data

是快捷方式,代表@ToString, @EqualsAndHashCode, @Getter(所有字段), @Setter(所有字段) 
没用lombok前你的代码需要这样写:

01 public class DataExample {
02  private int age;
03  private String name;
04  public int getAge() {
05      return age;
06  }
07  public void setAge(int age) {
08      this.age = age;
09  }
10  public String getName() {
11      return name;
12  }
13  public void setName(String name) {
14      this.name = name;
15  }
16  @Override
17  public String toString() {
18      return "DataExample [age=" + age + ", name=" + name + "]";
19  }
20 }
  •  

使用了lombok后你的代码是这样的:

01 @Data
02 public class DataExample {
03  private int age;
04  private String name;
05 }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值