sneaky visit




sneaky visit

文章插图

罗曼罗兰说过:世界上只有一种英雄主义 , 就是看清生活的真相之后依然热爱生活 。
对于 Lombok 我相信大部分人都不陌生 , 但对于它的实现原理以及缺点却鲜为人知 , 而本文将会从 Lombok 的原理出发 , 手撸一个简易版的 Lombok , 让你理解这个热门技术背后的执行原理 , 以及它的优缺点分析 。
简介在讲原理之前 , 我们先来复习一下 Lombok (老司机可以直接跳过本段看原理部分的内容) 。
Lombok 是一个非常热门的开源项目 (github.com/rzwitserloo…) , 使用它可以有效的解决 Java 工程中那些繁琐又重复代码 , 例如 Setter、Getter、toString、equals、hashCode 以及非空判断等 , 都可以使用 Lombok 有效的解决 。
使用1.添加 Lombok 插件在 IDE 中必须安装 Lombok 插件 , 才能正常调用被 Lombok 修饰的代码 , 以 Idea 为例 , 添加的步骤如下:
  • 点击 File > Settings > Plugins 进入插件管理页面
  • 点击 Browse repositories...
  • 搜索 Lombok Plugin
  • 点击 Install plugin 安装插件
  • 重启 IntelliJ IDEA
安装完成 , 如下图所示:
sneaky visit

文章插图
【sneaky visit】


2.添加 Lombok 库接下来我们需要在项目中添加最新的 Lombok 库 , 如果是 Maven 项目 , 直接在 pom.xml 中添加如下配置:
org.projectlomboklombok1.18.12provided如果是 JDK 9+ 可使用模块的方式添加 , 配置如下:
org.projectlomboklombok1.18.123.使用 Lombok接下来到了前半部分中最重要的 Lombok 使用环节了 , 我们先来看在没有使用 Lombok 之前的代码:
public class Person {private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}这是使用 Lombok 之后的代码:
@Getter@Setterpublic class Person {private Integer id;private String name;}可以看出在 Lombok 之后 , 用一个注解就搞定了之前所有 Getter/Setter 的代码 , 让代码瞬间优雅了很多 。
Lombok 所有注解如下: