链式调用Builder

Posted q1359720840

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链式调用Builder相关的知识,希望对你有一定的参考价值。

使用Lombok实现链式调用

1.静态调用

User对象: 对象中必须有一个值不为空staticname作为指定的参数并调用对象

@Accessors(chain = true)
@Getter
@Setter
@RequiredArgsConstructor(staticName  = "of")
@ToString
public class User {
private  Integer id;
    @NonNull
private  String username;
private  String password;
private  String  remarks;
private  String true_name;
}

main调用:

   public static void main(String[] args) throws IOException {
        User user = User.of("张三")
                .setPassword("zhangsan123")
                .setTrue_name("zhangsaniii");
        System.out.println(user);}

控制台输出:

User(id=null, username=张三, password=zhangsan123, remarks=null, true_name=zhangsaniii)

2.第二张创建方式

user对象

import lombok.*;

@Data
@Builder//链式调用<--
@RequiredArgsConstructor
@AllArgsConstructor
@ToString
public class User {
private  Integer id;
private  String username;
private  String password;
private  String  remarks;
private  String true_name;
}

测试main

  User build = User.builder().
                username("zhangsan").id(2).
                password("123").build();
        System.out.println(build);

输出:

User(id=2, username=zhangsan, password=123, remarks=null, true_name=null)

 

以上是关于链式调用Builder的主要内容,如果未能解决你的问题,请参考以下文章

多参构造器与 Builder 模式及链式调用的运用

变种 Builder 模式:优雅的对象构建方式

android构建者(Builder)模式使用方法详解

设计模式之建造者模式(builder)

设计模式---创建者模式

(建造者模式)链式编程之 @Builder 和 @Accessors 学习