原文地址:http://www.work100.net/training/monolithic-project-iot-cloud-admin-manager-lombok.html
更多教程:光束云 - 免费课程
使用Lombok
序号 | 文内章节 | 视频 |
---|---|---|
1 | 概述 | - |
2 | 安装Lombok插件 | - |
3 | 配置Lombok插件 | - |
4 | 引入依赖 | - |
5 | 重构代码 | - |
6 | 实例源码 | - |
请参照如上章节导航
进行阅读
1.概述
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。
仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。
2.安装Lombok插件
在 IntelliJ IDEA
中引入 Lombok
插件,打开 Plugins
菜单,搜索并安装:
![](http://contents.work100.net/images/training/monolithic/project-iot-cloud-admin/iot-cloud-admin-auth-manager-lombok.jpg)
3.配置Lombok插件
配置已安装的 Lombok
插件,设置如下:
![](http://contents.work100.net/images/training/monolithic/project-iot-cloud-admin/iot-cloud-admin-auth-manager-lombok-setting.jpg)
4.引入依赖
要使用 Lombok
则需要引入如下依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
我们在 iot-cloud-dependencies
及 iot-cloud-commons
项目中添加上面的依赖。
5.重构代码
修改 AbstractBaseDomain 类
修改 AbstractBaseDomain
类文件,为其增加 @Data
注解,代码如下:
package net.work100.training.stage2.iot.cloud.commons.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>Title: AbstractBaseDomain</p>
* <p>Description: </p>
*
* @author liuxiaojun
* @date 2020-03-14 14:44
* ------------------- History -------------------
* <date> <author> <desc>
* 2020-03-14 liuxiaojun 初始创建
* -----------------------------------------------
*/
@Data
public abstract class AbstractBaseDomain implements Serializable {
private Long id;
private Date created;
private Date updated;
}
添加
@Data
注解后,Getter
和Setter
代码就不要实现了。
修改 AuthManager 类
修改 AuthManager
类文件,为其增加 @Data
注解,代码如下:
package net.work100.training.stage2.iot.cloud.domain;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import net.work100.training.stage2.iot.cloud.commons.dto.AbstractBaseDomain;
import java.util.Date;
/**
* <p>Title: AuthManager</p>
* <p>Description: 管理员账户表</p>
* <p>Url: http://www.work100.net/training/monolithic-project-iot-cloud-admin.html</p>
*
* @author liuxiaojun
* @date 2020-02-23 22:42
* ------------------- History -------------------
* <date> <author> <desc>
* 2020-02-23 liuxiaojun 初始创建
* -----------------------------------------------
*/
@Data
public class AuthManager extends AbstractBaseDomain {
private String userKey;
private String userName;
@JsonIgnore
private String password;
/**
* 状态:0=inactive, 1=active, 2=locked, 3=deleted
*/
private int status;
private boolean superuser;
/**
* 角色:admin, editor
*/
private String roles;
private Date modifyPasswordTime;
}
对于 账户
类,我们不期望将 password
暴露到客户端,这时我们可以使用如下注解:
@JsonIgnore
private String password;
其它对象的修改请自行完成
6.实例源码
实例源码已经托管到如下地址:
-
https://github.com/work100-net/training-stage2/tree/master/iot-cloud3
-
https://gitee.com/work100-net/training-stage2/tree/master/iot-cloud3
上一篇:菜单优化
如果对课程内容感兴趣,可以扫码关注我们的
公众号
或QQ群
,及时关注我们的课程更新
![](http://contents.work100.net/images/about/contact/wechat_dingyuehao.jpg)
![](http://contents.work100.net/images/about/contact/qq_group_qrcode.jpg)