使用 lombok 可以简化一些样板代码的编写, 下面说说如何启用它, 包括了 maven 及 IDE 中的设置(Eclipse 及 Intellij IDEA)
具体例子
开发中经常会遇到一些纯粹作为记录的类, 如 VO, DTO 之类的, 在以往, 需要给它们一一生成所谓的 getter 和 setter. 虽然有 IDE 可以辅助快速生成这样方法, 可大量的这种简单的 get 和 set 方法的存在也是挺碍眼的, 可否简化呢?
答案是可以的, 方式就是借助 lombok 这个代理工具.
比如以下一个 User 类, 只需要引入 lombok 中的 @Data 注解, 就可以自动生成 get set 方法.
package net.xiaogd.demo.mybatis.entity;
import lombok.Data;
@Data
public class User {
private int id;
private String username;
private String password;
private String nickName;
private String salt;
private String token;
}
其它地方就可以使用这些方法了, 是不是很方便呢?
@Test
public void testXmlDao() throws Exception {
User user = userXmlDao.findUser("user01", "pass01");
log.info("user: {}, {}", user.getUsername(), user.getPassword());
}
上面用到了 getUsername, getPassword 方法, 这些在源码中是没有的.
接下来具体说说怎么去引入它.
maven 依赖
首先在工程中需要引入 lombok 依赖:
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
</dependencies>
配置在 pom.xml 中即可.
IDE 插件
有了 maven 依赖后, 考虑到平时在 IDE 中开发的需要, 还需要做一些设置才能让 IDE 支持 lombok 的特性, 下面分别说说 Eclipse 和 Intellij IDEA 中的设置.
在 Eclipse 中设置 lombok
由于没有相关插件, 在 Eclipse 中设置支持 lombok 稍微麻烦些, 不过也不是太复杂. 下面具体细说下.
第一步是找到 lombok.jar 这个文件. 在上一步在 maven 中增加了相应的依赖后, 相关的 jar 就已经下载到了本地 maven 的 repository 中.
比如在我的本机上就位于 "C:\Users\golden.m2\repository\org\projectlombok\lombok\1.18.8\lombok-1.18.8.jar":
注: 我本地的用户名是 golden, 如果没有配置, 缺省的用户名通常为 Administrator, 则路径大概如下 "C:\Users\Administrator.m2\repository\org\projectlombok\lombok\1.18.8\lombok-1.18.8.jar"
另注: 这是 maven 在 windows 中的缺省路径, 如果你特别调整了 repository 的位置, 则改为相应的位置.
找到 jar 包后, 这其实是一个可以运行的 jar, 第二步双击运行它, 之后它会弹出一个 GUI 的设置页面, 如下:
默认情况下它会自动去寻找本机 eclipse 的安装位置, 如果找到了, 它就会列出来;
如果找不到(上图中即是提示没有找到), 也没有关系, 还可以自己手动指定:
比如我本地没有安装到缺省位置, 于是就通过 Specify location 按钮自己来指定, 选中有效的 Eclipse 程序目录后, 框中会出现一个条目并默认勾上:
下一步就是点击 Install/Update, 成功之后提示如下:
以上过程参考: https://projectlombok.org/setup/eclipse
它提示接下来要执行的一些事项, 有三步:
- 在工程中引入 lombok.jar, 这个已经做到(add lombok.jar to your projects)
- 退出并重启 IDE, 以让设置生效(exit and start your IDE)
- 重新 build 工程(rebuild all projects)
还有一点特别提示, 大意为如果你使用了个性化的 -vm 参数来启动 Eclipse, 则你需要同时加入 -vmargs -javaagent:lombok.jar
参数(If you start Eclipse with a custom -vm parameter, you'll need to add: -vmargs -javaagent:lombok.jar as parameter as well.)
这个如果没对 Eclipse 做特殊的启动配置则可以忽略, 另外上述的设置过程中其实已经在 eclipse.ini 中加入了类似配置.
完成上述设置后, Eclipse 中就可以正常支持 lombok 的特性了.
在 Intellij IDEA 中安装 lombok 插件
在 Intellij IDEA 中支持 lombok 则较为简单, 因为有相关插件, 只需要在 Settings > plugins > Marketplace 中搜索找到 lombok 插件然后安装即可:
注: 由于我本地已经安装过了, 所以显示为 installed
同样的, 你可能需要重启 IDE 并重新 build 相关工程.
验证
想要验证 lombok 是否生效也很简单, 比如上述例子中的 @Data 注解, 会生成 getter 和 setter, 可以在其它类尝试调用这些 get set 方法, 如果没有报错, 则说明虽然在源码中没有相应的 get set 方法, 但在生成的 class 文件中, lombok 已经注入了这些方法.
在 Eclipse 的 Outline 视图中, 也可以简单验证这一点:
如图所示, 虽然源码中没有 get set 方法, 但在 Outline 视图中却已经有相关方法, 这说明 lombok 的 @Data 注解已经生效了.
关于 lombok 的引入及相应 IDE 支持的设置的介绍就到这里.