美文网首页
lombok使用

lombok使用

作者: 充满智慧的白痴 | 来源:发表于2019-12-30 10:30 被阅读0次

    @AllArgsConstructor

    @AllArgsConstructor(access = AccessLevel.PRIVATE)
    使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数
    @NoArgsConstructor
    使用后创建一个无参构造函数
    @Data
    使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去
    @Builder
    关于Builder较为复杂一些,Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数的麻烦,在设计模式中的思想是:用一个内部类去实例化一个对象,避免一个类出现过多构造函数,
    

    @Builder使用案例

    @Data   // 省略getter,setter
    @NoArgsConstructor    // 添加无参构造
    @Builder(toBuilder = true)    // 可以使用Builder进行构造
    @AllArgsConstructor(access = AccessLevel.PRIVATE)     // 生成包含所有属性的私有构造函数
    public class ResultBean<T> implements Serializable {
    
        private static final long serialVersionUID = 8676131899637805509L;
    
        @ApiModelProperty(value = "状态码", example = "200", required = true)
        private String code;
        @ApiModelProperty(value = "结果信息", example = "ok", required = true)
        private String msg;
    
        @ApiModelProperty(value = "结果集的数据封装")
        // 默认的data
        @Builder.Default
        private T data = (T) "";
    
    }
    

    @EqualsAndHashCode

    @Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集,但是默认@Data不会使用父类的方法,所以需要重新添加上@EqualsAndHashCode(callSuper=true)

    枚举类的使用

    public class EnumDemo {
        public static void main(String[] args){
            //直接引用
            Day day =Day.MONDAY;
        }
    }
    //定义枚举类型
    enum Day {
        MONDAY, TUESDAY, WEDNESDAY,
        THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }
    
    import lombok.AccessLevel;
    import lombok.AllArgsConstructor;
    import lombok.Getter;
    @Getter
    @AllArgsConstructor(access = AccessLevel.PRIVATE)
    public enum CodeEnum {
        SUCCESS("200", "ok"),
        SYS_ERROR("500", "error"),
        VALUE_NULL("300", "值为空"),
        PARAM_NULL("301", "参数为空,处理异常"),
        FAIL("400", "失败"),
        NOT_FOUND("404","接口不存在"),
        INTERNAL_SERVER_ERROR("500","服务器内部错误"),
        EXCEL_TEMPLATE_ERROR("500","excel模板上传有误"),
    
        PARAM_ERROR("500", "参数错误"),
        PARAM_IS_NULL("200", "参数为空"),
        PARAM_IS_INVALID("200", "参数不合法"),
        DATA_NOT_FOUND("200", "数据未找到"),
        NOTIFY_SFIM_FAILED("400", "通知丰声失败"),
        NOTIFY_SFIM_SUCCESS("200", "通知丰声成功"),
        DATA_ALREADY_EXIST("200", "数据已存在");
        // 当枚举的对象是非普通类型时,可以使用自定义属性约定约定取值
        private String code;
        private String msg; 
    }
    // 外界使用枚举类
    import static com.awsm.budget.result.CodeEnum.*;
    import static com.....ClassName.*;意思是导入这个类里的静态方法
    当你需要频繁访问一个或两个类的静态成员时使用它
    SUCCESS.getCode()   // return 200
    SUCCESS.getMsg() //return "成功"

    相关文章

      网友评论

          本文标题:lombok使用

          本文链接:https://www.haomeiwen.com/subject/rbqbpctx.html