Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Lombok学习

Lombok学习

作者头像
神秘的寇先森
发布于 2019-10-22 15:32:30
发布于 2019-10-22 15:32:30
64500
代码可运行
举报
文章被收录于专栏:Java进阶之路Java进阶之路
运行总次数:0
代码可运行

一:简单介绍

1.Lombok是什么

Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques等常规方法,同时可以自动化日志变量。官网链接 简而言之:Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。

2.Lombok使用

使用Lombok需要的开发环境Java+Maven+IntelliJ IDEA或者Eclipse(安装Lombok Plugin) 1.打开IDEA的setting 2.找到plugins,选择Browse repositories 3.搜索lombok ,点击安装 ,安装完成重启IDEA 4.在项目中添加Lombok依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

5.在对应的类或者方法上使用对应注解

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class WC {
    /**
     * word
     */
    public String word;

    /**
     * 出现的次数
     */
    public long count;
}

二:常用注解讲解

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
@Getter 使用方法同上,区别在于生成的是getter方法。
@ToString 注解在类,添加toString方法。
@EqualsAndHashCode 注解在类,生成hashCode和equals方法。
@NoArgsConstructor 注解在类,生成无参的构造方法。
@RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
@AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
@Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Slf4j 注解在类,生成log变量,严格意义来说是常量,不用自己定义log常量,减少代码数量。
private static final Logger log = LoggerFactory.getLogger(UserController.class);

三:重点注解学习

1.@Builder 实战使用

如果对建造者设计模式不太清楚的,可以先了解一下:建造者模式

@Builder注解为你的类生成相对略微复杂的构建器API。@Builder可以让你以下面显示的那样调用你的代码,来初始化你的实例对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Person.builder()
    .name("Adam Savage")
    .city("San Francisco")
    .job("Mythbusters")
    .job("Unchained Reaction")
    .build();

@Builder可以放在类,构造函数或方法上。 虽然放在类上和放在构造函数上这两种模式是最常见的用例,但@Builder最容易用放在方法的用例来解释 使用@Builder注释的方法可以帮助我们完成一下一些事情:

  1. 一个名为FooBuilder的内部静态类,并具有和实体类形同的属性(称为构建器)。
  2. 在构建器中:对于目标类中的所有的属性和未初始化的final字段,都会在构建器中创建对应属性;
  3. 在构建器中:创建一个无参的default构造函数。
  4. 在构建器中:对于实体类中的每个参数,都会对应创建类似于“setter”的方法,只不多方法名与该参数名相同。 并且返回值是构建器本身(便于链式调用),如上例所示。
  5. 在构建器中:一个build()方法,调用此方法,就会根据设置的值进行创建实体对象。
  6. 在构建器中:同时也会生成一个toString()方法。
  7. 在实体类中:会创建一个builder()方法,它的目的是用来创建构建器。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Builder
public class User {
    private String username;
    private String password;
}

// 编译后:
public class User {
    private String username;
    private String password;
    User(String username, String password) {
        this.username = username; this.password = password;
    }
    public static User.UserBuilder builder() {
        return new User.UserBuilder();
    }

    public static class UserBuilder {
        private String username;
        private String password;
        UserBuilder() {}

        public User.UserBuilder username(String username) {
            this.username = username;
            return this;
        }
        public User.UserBuilder password(String password) {
            this.password = password;
            return this;
        }
        public User build() {
            return new User(this.username, this.password);
        }
        public String toString() {
            return "User.UserBuilder(username=" + this.username + ", password=" + this.password + ")";
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.10.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
优雅!Lombok 中 @Builder 妙用!
哈喽,我是狗哥。不知道大家有没有用过 Lombok?里面的 @Builder 注解使用的创建者模式又叫建造者模式。简单来说,就是一步步创建一个对象,它对用户屏蔽了里面构建的细节,但却可以精细地控制对象的构造过程。
JavaFish
2022/01/17
4.7K0
聊聊使用lombok @Builder踩到的坑
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。
lyb-geek
2021/09/14
1.4K0
聊聊使用lombok @Builder踩到的坑
Lombok基本使用
文章目录 1. Lombok 是什么 2. Lombok原理 3. Lombok 常用注解 1. @Getter 和 @Setter 方法 2. @ToString 方法 3. @EqualsAndHashCode 4. @NonNull 5. @NoArgsConstructor 和 @RequiredArgsConstructor、 @AllArgsConstructor 6. @Data 7. @Builder 8. @Log 9. val 10. @Cleanup 4. 总结 1. Lombok
兮动人
2021/06/11
1K0
Lombok基本使用
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题
Lombok是一款Java开发插件,使得Java开发者可以通过其定义的一些注解来消除业务工程中冗长和繁琐的代码,尤其对于简单的Java模型对象(POJO)。在开发环境中使用Lombok插件后,Java开发人员可以节省出重复构建,诸如hashCode和equals这样的方法以及各种业务对象模型的accessor和ToString等方法的大量时间。对于这些方法,它能够在编译源代码期间自动帮我们生成这些方法,并没有如反射那样降低程序的性能。
YourBatman
2019/09/03
3.3K0
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题
lombok系列2:lombok注解详解
看到第一篇《初识lombok》你可能意犹未尽,本文我们按照场景来介绍一下常用的注解。
pollyduan
2019/11/04
1.1K0
Java 之 Lombok 必知必会
在目前众多编程语言中,Java 语言的表现还是抢眼,不论是企业级服务端开发,还是 Andorid 客户端开发,都是作为开发语言的首选,甚至在大数据开发领域,Java 语言也能占有一席之地,如 Hadoop,Spark,Flink 大数据等。而作为已经诞生 24 年的 Java 相比其他语言来说,编写起来略显得冗长和复杂,而为了能极大提升 Java 开发的效率和代码简洁性,一个 Java 库 Lombok 就这样诞生了。
闻人的技术博客
2019/09/19
9500
Java 之 Lombok 必知必会
Lombok简介
Lombok是一个第三方的Java工具库,会自动插入编辑器和构建工具。Lombok提供了一组非常有用的注解,用来消除Java类中的大量样板代码,比如setter和getter方法、构造方法等。只需要在原来的JavaBean上使用@Data注解就可以替换数十行或数百行代码,从而使代码变得更加清爽、简捷且易于维护。
魚迹
2023/05/06
3620
Lombok简介
建造者模式深度解析与实战应用
我是摘星,一名全栈开发者,专注 Java后端开发、AI工程化 与 云计算架构 领域,擅长Python技术栈。热衷于探索前沿技术,包括大模型应用、云原生解决方案及自动化工具开发。日常深耕技术实践,乐于分享实战经验与学习心得,希望用通俗易懂的方式帮助开发者快速掌握核心技术。持续输出AI、云计算及开源技术相关内容,欢迎关注交流!
摘星.
2025/06/09
990
建造者模式深度解析与实战应用
芋道 Spring Boot 消除冗余代码 Lombok 入门
摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/Lombok/ 「芋道源码」欢迎转载,保留摘要,谢谢!
芋道源码
2020/04/01
1.1K0
加倍提升开发效率,继续深挖Lombok的使用
本篇来接续上一篇文章 这些极简的注解你都清楚吗,主要介绍一下 Lombok 非常用注解。
cxuan
2019/08/09
7920
加倍提升开发效率,继续深挖Lombok的使用
Lombok注解使用 - @Data、@Builder注解分析,结合实际项目中的应用
Lombok是一个Java库,旨在通过注解来减少样板代码,提高开发效率。在实际项目开发中,Lombok的注解能够简化Java类的编写,并且提供了一些便捷的功能。本文将深入解析Lombok中的@Data和@Builder注解,同时结合实际项目中的应用场景进行说明。
王也518
2023/12/21
2K0
从0到1开发测试平台(八)后端服务添加lombok第三方类库
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。
周辰晨
2020/08/04
6740
优雅的JAVA工具库LOMBOK
最近在公司的项目中看到了对于Lombok的应用,通过@Data注解标注POJO,省略了大量的getter/setter代码,原先冗长的POJO在瘦身之后直接变得干净、清爽,程序员再也不需要去关注那些长长的方法,只需要集中注意力于字段field之中
java架构师
2019/01/03
5750
Lombok超详解及其注解
以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString/构造方法;打印日志;I/O流的关闭操作等等,这些代码既没有技术含量,又影响着代码的美观,Lombok应运而生。LomBok可以通过注解,帮助开发人员消除JAVA中尤其是POJO类中的冗长代码。
会洗碗的CV工程师
2023/11/15
6310
Lombok超详解及其注解
今天 1024,为了不 996,Lombok 用起来以及避坑指南
Lombok 项目是一个 Java 库,它会自动插入编辑器和构建工具中,Lombok 提供了一组有用的注解,用来消除 Java 类中的大量样板代码。
双鬼带单
2020/10/29
8330
Lombok 让代码“亚健康”?你真的用对了吗?
周末的时候,和朋友闲聊,说最近在加班,赶进度,搞项目重构;然后跟我在吐槽,团队不让用Lombok,还列了一堆的缺点说让代码变的"亚健康",本来进度就挺赶的,因为一些基础的代码,消磨着精力和时间,心挺累的...
一行Java
2022/04/07
6520
Lombok 让代码“亚健康”?你真的用对了吗?
二.SpringBoot配置lombok
Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法;在使用Lombok之后,将由其来自动帮你实现代码生成,注意,其是 在运行过程中,帮你自动生成的 。就是说,将极大减少你的代码总量。提高代码编写的效率。消除模板代码getter、setter、构造器、toString()、equals()便捷的生成比较复杂的代码,例如一个entity要转化成构建器模式的形式,只需要一个注解。
十分钟空间
2022/08/17
9490
二.SpringBoot配置lombok
MyBatis 从入门到精通:Java开发的新利器Lombok
在Java开发中,简洁高效的代码编写是开发者们一直追求的目标。而Lombok作为一个Java库,能够极大地简化Java代码的编写,提高开发效率。本文将深入探讨Lombok的使用方法、核心功能以及实践步骤,并探讨其在项目开发中的应用。
默 语
2024/11/20
1800
使用lombok编写优雅的Bean对象
使用java编写代码,十之八九都是在写java类,从而构建java对象。lombok之前也说了不少,但使用了这么多年,感觉还是有很多技巧可以使用的。
Rookie
2019/05/10
8200
使用lombok编写优雅的Bean对象
Lombok
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, automate your logging variables, and much more —— Project Lombok
晚上没宵夜
2021/07/19
5140
Lombok
相关推荐
优雅!Lombok 中 @Builder 妙用!
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验