@NoArgsConstructor注解

时间:2025-03-19 08:09:56

一、注解介绍
该注解作用到类上,用于生成一个无参构造

二、注解相关属性介绍
1、staticName:
生成的构造方法是私有的,并且商城一个无参、返回值类型为当前对象的静态方法,方法名为staticName值

2、onConstructor:
列出所有的注解都放在生成的构造方法上
jdk1.8新写法

onConstructor_ = {@RequestBody}

3、access:
设置构造方法的访问修饰符,如果设置了staticName,那么将设置静态方法的访问修饰符      
默认为:public,可选择private、module、protected、none(JDK9新特性,表示不生成构造函数也不生成静态方法,该注解被停用)

4、force:
可以将所有final字段初始化为0、null、false。默认为false

三、实战

@NoArgsConstructor(force = true, staticName = "sss", access = , onConstructor_ = {@RequestBody})
public class ceshi {
    private final String name;
    
    private final Integer age;
    
    private final boolean boo;
}

编译后:

public class ceshi {
      private final String name;
      
      private final Integer age;
      
      private final boolean isDelete;
    
      @RequestBody
      private ceshi() {
         = null;
         = null;
         = false;
      }
      
      private static ceshi sss() {
          return new ceshi();
      }
}