noargsconstructor(Springboot注解 @Data @AllArgsConstructor @NoArgsConstructor @Builder)

本文目录
- Springboot注解 @Data @AllArgsConstructor @NoArgsConstructor @Builder
- Lombok常用注解(一)@Data @RequiredArgsConstructor @NoArgsConstructor @AllArgsConstructor
- @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
Springboot注解 @Data @AllArgsConstructor @NoArgsConstructor @Builder
@Data
使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去。
@AllArgsConstructor
使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数
@NoArgsConstructor
使用后创建一个无参构造函数
@Builder
关于Builder较为复杂一些,Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数的麻烦,在设计模式中的思想是:用一个内部类去实例化一个对象,避免一个类出现过多构造函数
Lombok常用注解(一)@Data @RequiredArgsConstructor @NoArgsConstructor @AllArgsConstructor
@Data
@Data = @ToString + @EqualsAndHashCode + @Getter (作用在所有字段)+ @Setter(作用在所有非final的字段)+ @RequiredArgsConstructor
@RequiredArgsConstructor(包含在@Data中)
生成构造包含所有必须字段的参数,包括(1)含@NotNull注解的字段;(2)final修饰且未初始化的字段。
@NoArgsConstructor
生成无参构造
@AllArgsConstructor
生成全参构造
***隐藏网址***
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
专注于github, 有需要几千github star 出售5000多个github 账号, 需要联系V微信 eryuechanghe
在Lombok中,生成构造方法的annotation一共有三个,@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsContructor。使用这三个annotation来完成项目中对于不同构造方法的需求。
@NoArgsConstructor : 生成一个无参数的构造方法,这个annotation在与其他的annotation配合起来使用的时候更加能凸显出他的重要性,例如在使用hibernate这种框架的时候,如果有一个有参数的构造方法的时候,NoArgsConstructor会展示出他的作用。
@RequiredArgsConstructor: 会生成一个包含常量,和标识了NotNull的变量 的构造方法。生成的构造方法是private,如何想要对外提供使用可以使用staticName选项生成一个static方法。
@AllArgsContructor: 会生成一个包含所有变量,同时如果变量使用了NotNull annotation , 会进行是否为空的校验, 我们来看一下官方给出的一个例子:
使用了lombok
未使用lombok
@AllArgsConstructor 在生成的构造函数上会生成一@ConstructorProperties 的Java annotation, 当然也可以通过将suppressConstructorProperties 设置为true来禁用@ConstructorProperties 。 如果你知道@ConstructorProperties 是干什么用的,那么一定就知道@NoArgsConstructor为什么没有这个配置参数了。
提示一点:@ConstructorProperties 只能用在JDK 6 中

本文相关文章:
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
filtertec面料(filtertec和goretex哪个好)
2026年10月4日 10:10
jquerychildren第一个(jquery在向一个父div里添加子div时怎么判断是否是第一个子div)
2026年10月4日 00:30
internal friction(menbers,是什么意思)
2026年9月24日 09:50
jquery无刷新replace(jquery ajax 怎么实现无刷新改变页面的url)
2026年9月21日 06:00
webpack dev server(如何搭建webpack-dev-server)
2026年9月20日 15:10
cluster computing是几区(cluster computing是不是sci期刊)
2026年9月16日 08:30
更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00




