目录

  • 前言
  • 依赖
  • 常用注解
  • 生成器模式(Builder Pattern)

前言

Lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。

依赖

// 版本号可不添加
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>

常用注解

注解 说明
@Getter/@Setter 此注解在属性或类上,可以为相应的属性自动生成 Getter/Setter 方法,还可以指定访问范围
@ToString 类使用此注解,生成toString()方法
@EqualsAndHashCode 用在类上,生成hashCode()和equals()方法
@Data 注解在类上, 相当于同时使用了@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstrutor这些注解
@NonNull 用在属性或构造器上,对参数是否为空检查
@NoArgsConstructor 生成无参构造函数
@RequiredArgsConstructor 生成不为空的构造函数
@AllArgsConstructor 生成全参构造函数
@Value 用在类上,是@Data的不可变形式,相当于为属性添加final声明,只提供getter方法,而不提供setter方法
@Builder 表示可以进行生成器模式(Builder Pattern)方式初始化

生成器模式(Builder Pattern)

  • 传统创建对象方式
TestEvt test = new TestEvt();
test.setName("");
test.setSex("");
  • Builder模式
TestEvt testEvt = TestEvt.builder().name("").sex("").build();
  • 注:@Builder模式会将类的无参构造方法私有化,如果再想使用new TestEvt(),需要自己手动在类中定义一个无参构造方法。
  • 注:如果这个类需要能被当作一个Bean返回到前端还需要给类再加一个@Getter。

- End - - 个人学习笔记 - - 仅供参考 -

SpringBoot - Lombok的使用相关推荐

  1. SpringBoot +Lombok注解精华篇

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

  2. SpringBoot+Lombok使用

    一.开发环境准备和新版SpringBoot2.X.X项目创建 https://spring.io/projects/spring-boot 单击Spring Initializr 在线编写:https ...

  3. SpringBoot - Lombok使用详解1(基本介绍、安装配置、var和val)

    我们创建 POJO 类时,经常需要先写属性,然后手写或者自动生成 get 和 set 方法,然后还要重写 toString 方法....一系列操作下来,这个 POJO 类便会产生太多的样板式代码. 这 ...

  4. SpringBoot实现扫码登录

    文章目录 一.概述 1.扫码登录介绍 2.扫码登录原理 二.扫码登录实战(轮询版) 1.环境准备 2.RedisTemplate序列化 3.Token工具类 4.定义扫码状态 5.定义返回类 6.定义 ...

  5. 芋道 Spring Boot 消除冗余代码 Lombok 入门

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 ...

  6. 5.6 前端开发日报

    1.Vue+Express实现登录,注销 对Vue全家桶有基本的认知. 用有node环境 了解express 一丶业务分析 1.什么情况下进行权限验证? 访问敏感接口 前端向后端敏感接口发送ajax ...

  7. ios 地图 省市轮廓_iOS 14中的新增功能:视觉轮廓检测

    ios 地图 省市轮廓 WWDC20 (WWDC20) Apple's WWDC 2020 (digital-only) event kickstarted with a bang. There we ...

  8. 若依前后端分离版获取部门表所有最子级部门并匹配部门名称生成excel

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662 在上面 ...

  9. Bookmarks(三)

    Bookmarks 书签栏 tooltips提示效果,支持点击与经过显示,位置和效果可以自定义 - CSDN博客 疯狂的小萝卜头 - 博客园 [Kettle从零开始]第九弹之Kettle定时任务介绍 ...

最新文章

  1. 踩坑子Module引用aar
  2. [转] 在Mac上搭建React Native开发环境
  3. 腾讯AI Lab刘霁谈机器学习,异步计算和去中心化是两大杀器
  4. adb shell 调试 Android 串口
  5. 盘点程序员的一些经典笑话
  6. Spring Boot Cassandra的第一步
  7. MySQL怎样存储IP地址
  8. 关于MySql5“data too long for column”问题的探解
  9. 献给写作者的 Markdown 新手指南及语法
  10. win7下dynamips类模拟器桥接到本地PC,但是无法ping通的解决办法
  11. android gms包
  12. 时域采样定理MATLAB实现
  13. 数学经典思想:数学归纳法 理解+实战
  14. mysql支持的时区列表_5.1.14 MySQL服务器时区支持
  15. 超准的普通话水平测试,敢不敢进来做一下!
  16. matlab基础入门学习(有这一篇就够啦)
  17. 去叶剂行业调研报告 - 市场现状分析与发展前景预测
  18. oracle 小数格式化为百分数
  19. 有哪样 BI 产品能支持数据填报补录功能?
  20. Nowa Flutter开发教程之 07 Nowa 可视化编程

热门文章

  1. Centos7中Docker安装Redis
  2. 检测不到声卡High Definition Audio控制器显示代码10?驱动人生教你如何解决问题
  3. CAD教程:CAD看图软件中怎么设置比例?
  4. 插件小王子的插件源码汇总
  5. grub引导安装win10
  6. 在MATLAB环境下使用深度学习网络DeepLabV3+进行语义分割(云图分割)
  7. 2022年上海市安全员C证考试试题模拟考试平台操作
  8. 【Python】多图形混合排版,如何在Matplotlib/Seaborn中实现?
  9. STM32机器人控制开发教程No.3 使用遥控控制电机/舵机(基于HAL库)
  10. 改造WinRE 从隐藏分区安装Win7