zoukankan      html  css  js  c++  java
  • Java单体应用

    原文地址: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 菜单,搜索并安装:

    3.配置Lombok插件

    配置已安装的 Lombok 插件,设置如下:

    4.引入依赖

    要使用 Lombok 则需要引入如下依赖:

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

    我们在 iot-cloud-dependenciesiot-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 注解后,GetterSetter 代码就不要实现了。

    修改 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.实例源码

    实例源码已经托管到如下地址:


    上一篇:菜单优化

    下一篇:Spring Validation


    如果对课程内容感兴趣,可以扫码关注我们的 公众号QQ群,及时关注我们的课程更新

  • 相关阅读:
    在Unity3D中开发的Hologram Shader
    在Unity3D中开发的Toon Shader
    在Unity3D中开发的Dissolve Shader
    2017.2.26
    2017.2.21
    2017.2.20
    2017.2.19
    2017.2.18
    2017.2.17<转>
    2017.2.16 linux
  • 原文地址:https://www.cnblogs.com/liuxiaojun/p/training-monolithic-project-iot-cloud-admin-manager-lombok.html
Copyright © 2011-2022 走看看