Lombok快速入门

Lombok快速入门

文章目录

  • 一、Lombok介绍:
    • 1.1 Lombok优点:
    • 1.2 lombok 依赖引入
    • 1.3 lombok 插件安装
  • 二、常用注解
    • 2.1 @Getter and @Setter
    • 2.2 @ToString
    • 2.3 @EqualsAndHashCode
    • 2.4 @NoArgsConstructor
    • 2.5 @AllArgsConstructor
    • 2.6 @Slf4j
    • 2.7 @Builder、
    • 2.8 @Data
    • 2.9
    • 2.10

一、Lombok介绍:

通过简单的注解来精简代码达到消除冗长代码的目的。

1.1 Lombok优点:

  • 提高编码效率
  • 使代码更简洁
  • 消除冗长代码
  • 避免修改字段名字时忘记修改方法名
    注:IDE上必须要支持Lombok,否则IDE会报错。

举个栗子:

public class User {private  final String username;private  String password;private  Integer age;
}

要使用这个对象,必须还要写一些getter和setter方法,可能还要写一个构造器、equals方法、或者hash方法。这些方法很冗长而且没有技术含量,我们叫它样板式代码。

lombok的主要作用是通过一些注解,消除样板式代码,像这样:

@Data
public class User {private  final String username;private  String password;private  Integer age;
}

在这里插入图片描述

@Data是一个组合注解源码:
* @see Getter* @see Setter* @see RequiredArgsConstructor* @see ToString* @see EqualsAndHashCode* @see lombok.Value

1.2 lombok 依赖引入

使用 meavn 的朋友在 pom.xml 文件中添加依赖即可

        <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version><scope>provided</scope></dependency>

1.3 lombok 插件安装

在这里插入图片描述

二、常用注解

2.1 @Getter and @Setter

你可以用@Getter / @Setter注释任何字段(当然也可以注释到类上的),让lombok自动生成默认的getter / setter方法,生成的getter遵循布尔属性的约定。
默认生成的方法是public的,如果要修改方法修饰符可以设置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)

  • 字段上的注解示例:
    在这里插入图片描述
  • 类上注解栗子:
    在这里插入图片描述
    在这里插入图片描述

2.2 @ToString

在这里插入图片描述

2.3 @EqualsAndHashCode

在这里插入图片描述

2.4 @NoArgsConstructor

无参构造

2.5 @AllArgsConstructor

有参构造

2.6 @Slf4j

日志记录

2.7 @Builder、

对象构建

2.8 @Data

@RequiredArgsConstructor

2.9

2.10

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图片夹_各种变调夹的优缺点、原理和使用方法

变调夹(capo)是吉他弹奏中很重要的一部分&#xff0c;演奏者可以用它来很方便的调整吉他的音调&#xff0c;在民谣弹唱中&#xff0c;如果吉他为标准调弦(EADGBE)&#xff0c;当弹唱比较常见的D调的歌曲如《成都》时&#xff0c;只需用变调夹夹在二品&#xff0c;演奏者就可以用…

朋友,你实现荔枝自由了吗? | Alfred数据室

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a; AlfredWu转自&#xff1a;Alfred数据室Alfred已经有四年没有在广东生…

tomcat9控制台中文乱码

1、找到${CATALINA_HOME}/conf/logging.properties2、找到java.util.logging.ConsoleHandler.encoding UTF-83、 修改为java.util.logging.ConsoleHandler.encoding GBK 3、重启tomcat。

idea控制台输出乱码

2分钟搭建企业轻量级负载均衡服务器 文章目录1. 修改配置文件2. tomcat启动参数&#xff1a;3. 统一编码格式1. 修改配置文件 打开IntelliJ IDEA本地安装目录中bin文件夹下的idea.exe.vmoptions和idea64.exe.vmoptions这两个文件 分别在这两个文件内容的末尾添加&#xff1a;…

数据可视化图表,你选对了吗?

戳蓝字“CSDN云计算”关注我们哦&#xff01;Photo by Jason Coudriet on Unsplash文 | 邻川来源 | 阿里巴巴中间件程序员懂画图&#xff0c;一宝变三宝。继上期「阿里程序员小技巧」中&#xff0c;阿里巴巴技术专家三画分享了他关于《如何画好架构图》的经验&#xff0c;本期&…

使用IDEA 1分钟搭建运行SpringMVC项目

使用IDEA 1分钟搭建运行SpringMVC项目 文章目录一、项目搭建1.1. 新建项目1.2. 选择maven项目构建1.3. 设置组织名和模块名称1.4 . 选择本地maven仓库1.5 . 项目名和存放的位置1.6 . 开启自动下载依赖1.7. 搭建项目完成&#xff01;&#xff01;&#xff01;二、项目运行2.1. 显…

ARM 发布新一代 CPU 和 GPU,实现 20% 性能提升!

戳蓝字“CSDN云计算”关注我们哦&#xff01;整理 | 郭芮出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;作为全球知名的芯片设计企业&#xff0c;ARM 踩着一年一度即将开幕的台北电脑展&#xff08;Computex 2019&#xff09;热潮推出了新一代产品。据外媒 Ventur…

Git仓库初始化_企业级开发原则

Git仓库初始化_企业级开发原则 文章目录1. 在远程github创建仓库2. 在本地创建README.md测试WIKI文件3. 创建.gitignore文件4. 初始化git仓库5. 工作区变更文件添加至暂存区6. 文件提交至本地仓库7. 连接远程仓库8. 将本地仓库变更文件推送至远程9. 开发原则分支开发&#xff0…

Unix风雨五十年:老兵远去,新秀崛起

戳蓝字“CSDN云计算”关注我们哦&#xff01;文 | 姜洪军Unix?这是多老的一个传说啊!年轻一代的很多人似乎都没听说过。不过&#xff0c;微软的Windows NT、开源的Linux、谷歌的安卓、苹果的iOS&#xff0c;大家不陌生吧&#xff1f;其实这些都带着Unix的基因&#xff0c;我们…

Mybatisplus代码生成 之SpringBoot适配MYSQL和ORACLE

Mybatisplus代码生成 之SpringBoot适配MYSQL和ORACLE 文章目录前期准备&#xff1a;看图操作&#xff0c;一路下一步1. 导入相关依赖2. 新建代码生成类MysqlGenerator2.1. MYSQL 代码生成部分2.2. ORACLE代码生成部分3. 创建全局配置文件4. 启动类加MapperScan注解5. 在control…

360浏览器网页走丢了_超酷!Win10 正式版全新 UI 界面,全球第二大浏览器上线...

5月10日消息&#xff0c;微软今年首个 Windows 10 正式版将捆绑并换上全新的 Edge 浏览器&#xff0c;目前微软已向预览通道用户推送了 KB4559309 独立更新补丁&#xff0c;该补丁更新后将自动替换旧版 Edge 浏览器。撰文&#xff5c;XL科技说此前微软曾确认今年首个 Windows 1…

MP 启动注入 SQL 原理分析

MP 启动注入 SQL 原理分析 文章目录一、MybatisPlus需要sql语句吗&#xff1f;解答&#xff1a;需要1.1. 问题&#xff1a;为什么MybatisPlus看不到sql语句&#xff1f;1.2. 分析&#xff1a;继承关系1.3. 假设&#xff1a;操作数据库一定有sql二、通过现象看本质2.1. 测试案例…

虚拟化精华问答 | 为什么云计算需要虚拟化?

虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器、网络、内存及存储等&#xff0c;予以抽象、转换后呈现出来&#xff0c;打破物理设备结构间的不可切割的障碍&#xff0c;使用户可以比原本的架构更好的方式来应用这些资源。这些资源的虚拟部分是不受现有资源的…

c++ raiseexception产生异常_Day17_异常,线程

《Java自学180天笔记》异常分类package demo3;/*java.lang.Throwable:类是Java语言中所有错误或异常的超类。 Exception:编译期异常&#xff0c;进行编译(写代码)java程序出现的问题 RuntimeException&#xff1a;运行期异常&#xff0c;java程序运行过程中出现的问题…

05_SpringCloud整合声明式HTTP客户端-Feign

SpringCloud整合声明式HTTP客户端-Feign 文章目录一、Feign介绍1. 什么是Feign&#xff1f;2. Feign组件&#xff1a;二、基于Feign实现微服务远程调用2.1. 引入feign依赖2.2. 启动类加EnableFeignClients注解2.3. 添加属性配置(暂无)2.4. 创建一个feign接口类2.5. 修改Ribbon调…

Jonathan Bryce说:OpenStack属于全世界,并不属于一个公司,也不会属于一个国家……...

戳蓝字“CSDN云计算”关注我们哦&#xff01;“openstack这个软件是属于全世界的&#xff0c;并不属于一个公司&#xff0c;也不会属于一个国家。”这是OpenStack基金会创始人兼执行总监 Jonathan Bryce在访谈中一再强调的&#xff0c;也是让阿晶到如今依然记忆犹新的一句话。在…

html中给div设置的属性怎么样才能拿得到_前端基础高频面试题(更新中)

页面渲染的全过程输入url后&#xff0c;先拿到html文件&#xff0c;html下载完以后会开始对它进行解析html在解析的过程中&#xff0c;如果文本里有外部资源链接&#xff0c;比如css、js和img时&#xff0c;会立即启用其他线程下载这些静态资源。特殊的是当遇到js文件的时候&am…

怎么去除idea中代码的波浪线(黄色警告线)

windows中安装的idea中找到Preferences然后执行以下操作: 2.mac系统下的idea:为了减少一定量的重复代码&#xff0c;提醒开发人员注意&#xff0c;但是如果有时几行代码的重复没必要扔到一个统一的地方处理&#xff0c;这是总是提醒&#xff0c;干扰视线。这里根据个人习惯&am…

打脸!IEEE突然宣布解除对华为编辑和同行评审活动的限制;AWS 发生故障,因多处光缆被挖断,历经11小时完全修复……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 消失的台北电脑展&#xff0…

分布式mysql proxy_mysqlda: 基于核心业务对象切分的Proxy模式的分布式MySQL数据库中间件...

mysqlda - MySQL数据库中间件1. 概述1.1. 数据分布式切分方式分布式架构中最难解决的是数据分布式问题&#xff0c;大部分数据库中间件都以分库分表作为切分方式&#xff0c;好处是通用&#xff0c;但也存在以下问题&#xff1a;扩容过程需要以切片为单位在库间移动数据。扩容规…