全网@你不得不会的Lombok全面详细讲解,全网最详细的教程( 二 )

文章图片
必要的构造函数只会生成final修饰的未经初始化的字段或者是以@NonNull注解的未经初始化的字段, 所以生成了public User(@NonNull String phone, Integer age)构造函数
文章图片
5. @AllArgsConstructor生成一个全参数的构造方法
文章图片
6. @ToString生成toString()方法,默认情况下它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些字段,可以指定一个也可以指定多个@ToString(exclude = “id”) / @ToString(exclude = {“id”,“name”})如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)
文章图片
文章图片
7. @EqualsAndHashCode生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在of参数中命名它们来准确指定希望使用哪些字段。// exclude 排除字段@EqualsAndHashCode(exclude = {“password”, “salt”})// of 指定要包含的字段@EqualsAndHashCode(of = {“id”, “phone”, “password”})
文章图片
文章图片
8. @Data@Data 包含了 @ToString、@EqualsAndHashCode、@Getter / @Setter和@RequiredArgsConstructor的功能
文章图片
9. @Value@Value 将字段都变成不可变类型:使用final修饰, 同时还包含@ToString、@EqualsAndHashCode、@AllArgsConstructor 、@Getter(注意只有Getter没有Setter)
文章图片
文章图片
10. @Log生成log对象,用于记录日志,可以通过topic属性来设置getLogger(String name)方法的参数 例如 @Log4j(topic = “com.xxx.entity.User”),默认是类的全限定名,即 类名.class,log支持以下几种:@Log java.util.logging.Logger@Log4j org.apache.log4j.Logger@Log4j2 org.apache.logging.log4j.Logger@Slf4j org.slf4j.Logger@XSlf4j org.slf4j.ext.XLogger@CommonsLog org.apache.commons.logging.Log@JBossLog org.jboss.logging.Logger
文章图片
文章图片
11. @SneakyThrows
文章图片
12. @Synchronized给方法加上同步锁
文章图片
13. @Cleanup主要用来修饰 IO 流相关类, 会在 finally 代码块中对该资源进行 close();
推荐阅读
- 人会和 AI 相爱吗
- |全液晶仪表盘,颜值大涨!全新思域换代,不得不看!
- 事发宜昌!男子街头抱走老人,却被全网点赞!
- 汽车维基|百名网红、千名销售顾问全网直播,长安欧尚X5上市霸屏全网
- 趣头条|与闺蜜行摄新宝骏RC-5,可能是全网首台白改绿(上篇)
- 丘状高原|
- 全网通的mate8能不能插美国手机卡,在美国使用
- |全网好评的吉利星瑞,真这么好?为此,我们做了2000公里的长测
- 中年|宝来2021年型为何备受青睐?有这三个理由不得不服!
- 央视|丁真火爆全网,被央视花费12分钟报道,甚至还登顶韩国热搜?
