一、安装插件,eclipse 对于 lombok 的支持
二、引入依赖
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version> <!-- Spring Boot 项目此部分可以不写 -->
</dependency>
1
2
3
4
5
三、基本注解的使用(注解属性非必选)
@AllArgsConstructor:作用于类,生成参数为所有实例变量的构造函数
@Builder:作用于类,将其变成建造者模式
@Cleanup:作用于变量,自动关闭资源,针对实现了 java.io.Closeable 接口的对象有效
@CustomLog:自定义日志类,生成 log 对象
@Data:作用于类,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
@EqualsAndHashCode:作用于类,覆盖默认的 equals 和 hashCode1
@Generated:用于标记类、变量、方法是自动生成的,没什么大用
@Getter:作用于类,生成该类所有的实例变量的 getter 方法。作用于变量,生成变量的 getter 方法
@NoArgsConstructor:作用于类,生成无参构造方法
@NonNull:作用于成员变量和参数中,标识不能为空,否则抛出空指针异常
@RequiredArgsConstructor:作用于类,生成包含 final 和 @NonNull 注解的成员变量的构造方法
@Setter:作用于类,生成该类所有的实例变量的 setter 方法。作用于变量,生成该变量的 setter 方法
@Singular:作用于集合字段,需要配合 @Builder 使用2
@SneakyThrows:作用于方法,对异常进行捕捉并抛出
@Synchronized:作用于方法,可以替换 synchronized 关键字或 lock 锁
@ToString:作用于类,覆盖默认的 toString() 方法
@val:作用于类、变量,主要用于声明变量的类型,注解将从初始化程序表达式中推断类型,生成的变量是 final 不可以变
@Value:作用于类,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @RequiredArgsConstructor
@var:和 @val 一样,两者区别在于 var 不加 final
@With:作用于类、变量,生成 with + 变量名的方法,返回当前对象
四、外部注解的使用
@CommonsLog,@Log,@JBossLog,@Log4j,@Log4j2,@Slf4j,@XSlf4j:日志注解,作用于类
五、实验性注解的使用
@Accessors:类似于 @Builder 支持链式调用,需要配合 @Setter、@Getter 等注解使用,作用于类、变量
@Delegate:作用于容器变量,为该变量生成一堆常用的方法,这些方法都是容器中的方法
@ExtensionMethod:作用于类,向类添加方法,无需创建新的子类
@FieldDefaults:作用于类,定义变量的访问修饰符以及是否加 final
@FieldNameConstants:作用于类,生成一个包含所有成员变量的内部类或者内部枚举,内部类中每个字段值即为字段名并且值不可变
@Helper:作用于方法内部类,使内部类中的方法暴露在外面可以被直接调用,不建议使用
@NonFinal:作用于类、变量,表示变量不加 final
@PackagePrivate:作用于类和变量,相当于访问修饰符的 default,没什么用
@SuperBuilder:支持对于基类成员变量赋值,算是 @Builder 的升级版
@Tolerate:实现对冲突的兼容,作用于方法上,没什么大用,可以配合 @Builder 使用
@UtilityClass:作用于类,将类标记为 final,并且类、内部类中的方法、字段都标记为 static
@WithBy3
六、基于 v1.18.22 版本的实验性注解
@StandardException:自定义异常类
七、Lombok 的优缺点
优点:
能通过注解的形式自动生成构造器、getter / setter、equals、hashcode、toString 等方法,提高了一定的开发效率
让代码变得简洁,不用过多的去关注相应的方法
属性做修改时,也简化了维护为这些属性所生成的 getter / setter 方法等

缺点:
不支持多种参数构造器的重载
虽然省去了手动创建一系列方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度

八、待完善的
@EqualsAndHashCode.Include(replaces = “”) ↩︎

@Singular 中的 ignoreNullCollections 属性待完善 ↩︎

@WithBy 
————————————————
版权声明:本文为CSDN博主「笑看烟雨红尘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39249094/article/details/107313582

最全的 lombok 注解详情(随着版本不定时更新)相关推荐

  1. 超级全面的 Lombok 注解介绍,学一波!

    作者:riemann blog.csdn.net/riemann_/article/details/105374987 一.@Getter and @Setter 使用@Getter和/或@Sette ...

  2. java10下编译lombok注解的代码

    序 本文主要研究下在带有lombok(1.16.20版本)注解的代码在java10下的编译问题. 问题 Fatal error compilingat org.apache.maven.lifecyc ...

  3. eclipse中Lombok注解无效

    问题现象:eclipse中使用lombok的@Date,引用get方法时,报错. 解决方案: 在lombok官网(https://www.projectlombok.org/download)下载,或 ...

  4. 昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者

    本文分享自华为云社区<昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者>,作者: 技术火炬手. 全新的昇思MindSpore全场景AI框架1.6版本已发布 ...

  5. 【lombok】使用lombok注解,在代码编写过程中可以调用到get/set方法,但是在编译的时候无法通过,提示找不到get/set方法...

    错误如题:使用lombok注解,在代码编写过程中可以调用到get/set方法,但是在编译的时候无法通过,提示找不到get/set方法 报错如下: 解决方法: 1.首先查看你的lombok插件是否下载安 ...

  6. 解决IDEA使用lombok注解无效,@Data不生效问题

    解决IDEA使用lombok注解无效,@Data不生效问题 参考文章: (1)解决IDEA使用lombok注解无效,@Data不生效问题 (2)https://www.cnblogs.com/houz ...

  7. SpringBoot +Lombok注解精华篇

    SpringBoot 必知必会 核心精粹_注解Lombok 文章目录 Lombok注解 应用场景 @Data Getter.Setter.RequiredArgsConstructor.ToStrin ...

  8. Lombok注解使用详解

    本文来说下Lombok注解使用 文章目录 lombok的常用注解 @Builder注解 @Accessors注解 本文小结 lombok的常用注解 lombok的常用注解 @Getter和@Sette ...

  9. idea2020.1使用Lombok注解,点击运行项目提示找不到get,set方法?

    idea2020.1使用Lombok注解,点击运行项目提示找不到get,set方法? javabean: @Data public class ReponseData {     private Ma ...

最新文章

  1. 山东华为服务器安装系统,山东云服务器平台安装
  2. c++静态成员变量使用前必须初始化,那么下面这个例子为什么不用初始化?
  3. idea 开发spark 程序代码
  4. SCN exercise navigation的实现原理
  5. Visual C++ 2011-5-20
  6. 【每日一题】8月28日题目精讲 编号
  7. 功能项目拼图将Java 9引入
  8. 稳居亚太第一,阿里云进军全球;李彦宏候选工程院院士;苹果巨大损失:工业设计核心元老纷纷离职……...
  9. iOS开发基础知识--碎片27
  10. 【转】 C++中的new VS C语言中的malloc
  11. 漫谈SCA(软件成分分析)测试技术:原理、工具与准确性
  12. 神器!输错命令,fuck 一下,就能自动纠正!
  13. 好书分享:TP311.561《深度学习入门:基于python的理论与实现》[日] 斋藤康毅 著
  14. 换页符'\f'的问题
  15. Mac电脑DisplayPort/HDMI连接显示器后没声音
  16. 卖油条年入三十万,大学还有必要去上吗?
  17. 财务管理----记账凭证
  18. I2C读取EEROM时序图
  19. 文科生也能看懂的算法图解
  20. 口算练习机/儿童数学宝/口算神器 开发方案,LCD液晶显示驱动IC-VK1621B,可提供方案/技术支持

热门文章

  1. wpp trace在windbg输出的方法
  2. ROS-3DSLAM --开篇:综述
  3. VS2019的基本介绍
  4. 【ceph】AsyncMessenger 网络模块总结--编辑中
  5. 安卓应用开发小程序!字节跳动+京东+360+网易面试题整理,聪明人已经收藏了!
  6. Fiddler抓包工具是最强大最好用的 Web 调试工具之一
  7. 图文并茂使用CocosBuilder制作Cocos2D游戏 分享0
  8. 天池时间序列竞赛——AI助力精准气象和海洋预测学习笔记其一:赛题分析
  9. sd和sem啥区别_标准差和标准误的选择 (SD) 和 (SEM)
  10. 邮箱 名字 地址url正则表达式