简化开发:Lombok的使用

Java基础

浏览数:183

2019-7-26

AD:资源代下载服务

Java中优雅的使用Lombok

1、简介

  Lombok 是一种 Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO), 它通过注释实现这一目的。一个标准的Java bean 一般具有若干属性,每个属性具有getter()和setter()方法,Lombok中也用到了注解,但是它并没有用到反射,而是通过一些奇技淫巧,在代码编译时期动态将注解替换为具体的代码。所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同。

  代码越少,意味着出bug的可能性越低。

官网地址:https://projectlombok.org/ 首页有一段几分钟的演示视频,看完就明白是怎么回事了。

2、添加maven依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
</dependency>

3、Lombok注解

  • @Data:注解在类上,将类提供的所有属性都添加get、set方法,并添加、equals、canEquals、hashCode、toString方法
  • @Setter:注解在类上,为所有属性添加set方法、注解在属性上为该属性提供set方法
  • @Getter:注解在类上,为所有的属性添加get方法、注解在属性上为该属性提供get方法
  • @NotNull:在参数中使用时,如果调用时传了null值,就会抛出空指针异常
  • @Synchronized 用于方法,可以锁定指定的对象,如果不指定,则默认创建一个对象锁定
  • @Log作用于类,创建一个log属性
  • @Builder:使用builder模式创建对象
  • @NoArgsConstructor:创建一个无参构造函数
  • @AllArgsConstructor:创建一个全参构造函数
  • @ToStirng:创建一个toString方法
  • @Accessors(chain = true)使用链式设置属性,set方法返回的是this对象。
  • @RequiredArgsConstructor:创建对象
  • @UtilityClass:工具类
  • @ExtensionMethod:设置父类
  • @FieldDefaults:设置属性的使用范围,如private、public等,也可以设置属性是否被final修饰。
  • @Cleanup: 关闭流、连接点。
  • @EqualsAndHashCode:重写equals和hashcode方法。
  • @toString:创建toString方法。

大概减少了2/3的代码,各种注解的详细用法,请参考:https://projectlombok.org/features/index.html

4、一些使用的例子


 1 public class User {
 2         private String id;
 3         private String name;
 4         private Integer age;
 5     
 6         public String getId() {
 7             return id;
 8         }
 9     
10         public void setId(String id) {
11             this.id = id;
12         }
13     
14         public String getName() {
15             return name;
16         }
17     
18         public void setName(String name) {
19             this.name = name;
20         }
21     
22         public Integer getAge() {
23             return age;
24         }
25     
26         public void setAge(Integer age) {
27             this.age = age;
28         }
29     }

普通的bean

1 @Setter
2 @Getter
3 public class User {
4     private String id;
5     private String name;
6     private Integer age;
7 }

使用Lombok时的bean

1 public static void main(String[] args) {
2     User user = new User();
3     user.setId("1");
4     user.setName("name");
5     user.setAge(1);
6 }

main()方法中使用

5、插件的安装

因为不安装插件,可能调用方法时会报错。

windows下eclipse安装lombok插件:

1.下载lombok.jar包https://projectlombok.org/download.html
2.运行Lombok.jar: Java -jar D:\software\lombok.jar 
    其中D:\software\lombok.jar这是windows下lombok.jar所在的位置
    数秒后将弹出一框,点击确认;
    然后,点specify location 按钮,选择eclipse的安装目录,选择到eclipse层即可;
3.确认完eclipse的安装路径后,点击install/update按钮,即可安装完成
4.安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其
配置文件eclipse.ini中是否 添加了如下内容: 
    -javaagent:D:\softwareIT\eclipse\lombok.jar
如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可 
5.重启eclipse或myeclipse

windows下idea安装lombok插件:

1、File-->Settings...-->Plugins
2、Browse repositories...
3、在弹出的对话框中,直接搜索lombok,然后update/install

linux或ubuntu环境下安装lombok插件:

基本步骤和上面一样,区别在第二步
2.执行命令 java -jar /software/eclipse/lombok.jar 
    其中/software/eclipse/lombok.jar是我的lombok.jar所在的目;
    我的eclipse是安装在/software/eclipse/目录下。
执行完成之后,查看eclipse.ini文件查看:
    -javaagent:/software/eclipse/lombok.jar

参考文章: 1、
https://www.jianshu.com/p/2ea9ff98f7d6

2、
idea中使用lombok 3、github地址:
https://github.com/rzwitserloot/lombok 4、插件安装:https://blog.csdn.net/dorothy1224/article/details/79280591/         https://www.cnblogs.com/justuntil/p/7120534.html 

作者:淼淼之森