1.关于实体类
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
1.1@Builder 注解为类生成相对略微复杂的构建器 API
它作用于类,将其变成建造者模式
可以以链的形式调用
初始化实例对象生成的对象是不可以变的,可以在创建对象的时候进行赋值
如果需要在原来的基础上修改可以加 set 方法,final 字段可以不需要初始化
它会生成一个全参的构造函数
1.1.1、属性介绍
@Builder.Default:非 final 的字段可以有默认值
builderMethodName:指定创建内部静态类的方法名,默认值为 builder
buildMethodName:指定创建实体类的方法名,默认值为 build
builderClassName:指定内部静态的类名,默认值为 “”,默认创建的类名为 thisclassBuilder
toBuilder:设置为 true 可以对这个对象进行拷贝生成新的对象,可以再修改,默认为 false
access:设置 builderMethodName 的访问权限修饰符,默认为 public
共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE,其中 MODULE 是 Java 9 的新特性
setterPrefix:设置 setter 方法的前缀,默认为 “”
1.2@Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
1.3 使用
Student.builder()
.sno( "001" )
.sname( "admin" )
.sage( 18 )
.sphone( "110" )
.build();