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("[email protected]").build();

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

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

 ApiUser user = new ApiUser.builder()

完整注解如下:

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

原文地址:https://www.cnblogs.com/passedbylove/p/11558701.html

时间: 2024-08-29 02:01:12

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

Java设计模式 - 构造器模式

一.构造器模式 构造器模式,也被称为建造者.生成器模式,是设计模式中比较容易理解的模式之一. 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 上面的定义不太容易理解,简单点,构造器模式中的对象的属性是通过一个构造器来设置的,最后返回一个不同属性的对象. public class Toy { private String head; private String body; private ArrayList<String> legs; private Arra

thinkphp3.2 cli模式的正确使用方法

最近要使用thinkphp3.2版本的cli模式,手动执的话没有问题,比如php /www/index.php home/article/get 这样没有问题,但是一般用cli模式都是定时任务比较多,这个时候写到定时任务的时候,比如 0 * * * * * php /www/index.php home/article/get 这样就会出现引入ThinkPHP.php失败的问题,这个问题算是比较容易解决的,但是后来还有其他各种报错,经过查看相关核心代码,终于找到无需修改代码,就可以轻易使用cli

Intellij IDEA中lombok包setter / getter方法失效

一. 问题描述:Gitlab上clone工程到IDEA后,代码中Entity类的getter / setter方法编译报错,检查了pom.xml文件,有lombok依赖,Entity类上也有@Data注解并能编译成功,如下: 二. 解决方法: 1.联网情况下,在线安装lombok插件: 2.由于公司的项目是基于华为云桌面开发,并且不能联网,无法在线安装lombok插件,需要在云桌面外下载lombok插件,复制到云桌面的disk,IDEA从disk上导入安装: 这里要选择zip文件,根据提示重启I

Android中的系统服务(代理模式)

一,系统启动 Android设备的开机流程总得来分可以分为三部分: 加载引导程序 引导程序bootloader是开机运行的第一个小程序,因此它是针对特定的主板与芯片的.bootloader有很多种,可以使用比较流行的如redboot.uboot.ARMBoot等,也可以开发自己的引导程序,它不是Android操作系统的一部分.引导程序也是OEM厂商或者运营商加锁和限制的地方. 引导程序初始化硬件设备.创建存储器空间的映射等软件运行时所需要的最小环境:加载Linux内核镜像文件(本文只针对Andr

JavaScript设计模式一:工厂模式和构造器模式

转自:http://segmentfault.com/a/1190000002525792 什么是模式 前阵子准备期末考试,挺累也挺忙的,实在闲不得空来更新文章,今天和大家说说javascript中的设计模式. 首先呢,我们需要知道的是:模式是一种可复用的解决方案,而反模式呢就是针对某个问题的不良解决方案. js反模式常见例子 向setTimeout和setInterval传递字符串,而不是函数,这会触发eval()的内部使用. 在全局上下文中定义大量的变量污染全局命名空间 修改Object类的

Android开发中无处不在的设计模式——策略模式

这个系列停更了好久了,差不多可以重新拿起来更一篇了,这篇文章主要介绍策略模式.在这之前,先温习一下前面介绍的4种模式. 设计模式很重要! 设计模式很重要! 设计模式很重要! 重要的事说三遍!!! Android开发中无处不在的设计模式--单例模式 Android开发中无处不在的设计模式--Builder模式 Android开发中无处不在的设计模式--观察者模式 Android开发中无处不在的设计模式--原型模式 接着看下策略模式的定义 策略模式定义了一些列的算法,并将每一个算法封装起来,而且使它

Constructor JavaScript构造器模式。

构造器模式 : Constructor模式中, 通过在构造器前面加 new 关键字, 告诉JavaScript 像使用构造器一样实例化一个新对象,并且对象成员由该函数定义. 构造器内, 使用this 引用新创建的对象. JavaScript中有一个名为prototype的属性, 调用JavaScript构造器创建一个对象后,新对象就会具有构造器原型的所有属性. 设置属性: 1) 使用 .  2) 使用 [] 3) 使用Object.defineProperty 4) 使用Object.defin

lombok注解为java类生成Getter/Setter方法

1. 先到lombok官网下载lombok.jar包 : http://projectlombok.org/ 2. 下载了之后的两种安装方法: 1. 双击下载下来的 JAR 包安装 lombok 我选择这种方式安装的时候提示没有发现任何 IDE,所以我没安装成功,我是手动安装的.如果你想以这种方式安装,请参考官网的视频. 2.eclipse / myeclipse 手动安装 lombok 1. 将 lombok.jar 复制到 myeclipse.ini / eclipse.ini 所在的文件夹

javascript构造器模式创建对象

工厂模式创建对象,虽然符合正常思维. 但由于对象在函数内部定义,故无法得知对象的类型(均为Object). 使用构造器模式,可以创建特定类型的函数实例: function Dog(age,size) { this.age=age; this.size=size; this.toAge=function(){ alert(this.age); }; } var dog1=new Dog(10,20); var dog2=new Dog(22,1); 此时,上述函数可以认为是对象的构造函数. 例子中