• idea中Lombok的Buider构造器模式,getter/setter正确使用方法


    public class ApiUser  implements Serializable {
        private Long id;
    
        /***
         * 用户类型:single,org(organization)
         */
        private String type;
    
        private String loginName;
        /***
         * 身份证姓名/组织机构名称
         */
        private String name;
        /**
         * 身份证号码/营业执照号码
         */
        private String idNum;
    
        private String password;
        /***
         * 电话
         */
        private String cellphone;
    
        private Boolean cellphoneActived;
    
        private String email;
    
        private Boolean emailActived;
    
        /***
         * 余额
         */
        private Float balance;
    
        /***
         * 支付密码
         */
        private String paymentCode;
    
        /***
         * 省份id
         */
        private Integer provinceId;
    
        /***
         * 城市id
         */
        private Integer cityId;
    
        /***
         * 通讯地址
         */
        private String address;
    
        /***
         * 用户状态: inactive(0 default)
         *          actived(1)
         *          blocked(2)
         *          ...(其他待扩展用户状态类型)
         *          unknown(99)
         */
        private Integer status;
    
    
        private LocalDateTime createTime;
    }

    当然,在idea中使用之前你要安装Lombok插件,并在项目maven添加依赖

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

    想要在内中生成getter/setter添加注解@Data

    使用Builder构造器模式,添加@Builder

    需要额外添加以下注解,缺一不可,否则会报错

    @NoArgsConstructor
    @AllArgsConstructor
    报错信息:
    构造器  应用到给定类型; 需要: 没有参数 原因: 实际参数列表和形式参数列表长度不同

    使用方法:

     ApiUser user = ApiUser.builder().address("南京").balance(152.7f).email("172.@11.com").build();

    错误的使用方法:(此处的builder方法在idea中红色显示,没有办法正常调用

    参考来源:https://blog.csdn.net/triste_who/article/details/90609484

     ApiUser user = new ApiUser.builder()

    完整注解如下:

    @Builder
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class ApiUser {
    ...
    }

  • 相关阅读:
    JSP----获取表单参数
    application 从web.xml中获取初始化参数
    使用定时器分解任务
    无阻塞加载外部js(动态脚本元素,XMLHttpRequest注入,LazyLoad)
    ReactJs 入门DEMO(转自别人)
    带你一分钟理解闭包--js面向对象编程(转载他人)
    使用SqlBulkCopy进行批量数据插入
    AngularJsDEMO
    ECharts
    C#发送邮件DEMO
  • 原文地址:https://www.cnblogs.com/passedbylove/p/11558701.html
Copyright © 2020-2023  润新知