【工具篇】Lombok 介绍及使用(详细教程)

这篇具有很好参考价值的文章主要介绍了【工具篇】Lombok 介绍及使用(详细教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Lombok 介绍及使用

lombok如何使用,技术操作,Java EE【进阶】,spring boot,logback,intellij idea,java


一,Lombok介绍

在 Java 开发中,常常需要编写大量的getter、setter方法、equals和hashCode方法、构造函数等重复且繁琐的代码。

为了减少 Java 代码中的冗余和样板代码,提高代码的可读性和开发效率,就有了Lombok的出现。

Lombok是一个 Java 库,它通过使用注解来简化 Java 代码的编写。它提供了一系列的注解,用于自动生成常见的代码,如gettersetter方法、构造函数、equalshashCode方法等,以减少开发者的重复劳动。

使用Lombok,开发者只需在 Java 类上添加相应的注解,而不需要手动编写相应的代码。在编译过程中,Lombok会根据这些注解自动生成对应的代码,减少代码中的冗余和样板代码以及简化代码的编写过程。

使用Lombok可以提高代码的可读性、简洁性和可维护性,让开发者能够更专注于业务逻辑的实现。


二,Lombok下载

要想使用Lombok,需要在项目的构建工具中引入Lombok的依赖,并在开发环境中安装对应的插件,以支持Lombok的注解和自动生成的代码的显示和编辑。

1,Lombok插件安装

按照图中标记依次操作就可以进行Lombok插件的安装,安装好后点击启动,重新打开IDEA即可。

lombok如何使用,技术操作,Java EE【进阶】,spring boot,logback,intellij idea,java

2,Lombok依赖引入

Lombok插件安装好后,就可以在项目的pom.xml文件中添加Lombok依赖,Lombok依赖信息如下:

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

完成Lombok插件安装和Lombok依赖引入操作后,就可以使用Lombok了。


三,Lombok原理

Lombok基本实现原理

Lombok的基本实现原理可以概括为以下几个步骤:

  1. 注解扫描:Lombok的注解处理器会扫描Java源代码中的注解,并找到使用了Lombok注解的类、字段和方法。
  2. AST操作:Lombok注解处理器会对注解所标注的类进行抽象语法树(AST)的解析和操作,以识别和处理这些注解。
  3. 注解解析:注解处理器解析找到的注解,确定需要生成的代码类型和内容。
  4. 代码生成:基于注解的定义和规则,Lombok注解处理器生成相应的代码片段,如getter和setter方法、构造函数等。
  5. 代码注入:生成的代码片段被插入到编译结果中的相应位置,与手动编写的代码合并在一起。
  6. 最终编译:编译器将生成的代码和手动编写的代码一起编译为最终的字节码文件。

总结归纳:Lombok利用 Java 编译器的注解处理器技术,在编译期间扫描和解析使用了Lombok注解的源代码,然后会对注解所标注的类进行抽象语法树(AST)的解析和操作,以识别和处理这些注解。然后再根据注解的定义和规则,生成相应的代码片段,并将其插入到编译器的内部结构中。最后,生成的代码片段与手动编写的代码一起经过编译,生成可执行的字节码文件。


普通程序运行原理流程:

lombok如何使用,技术操作,Java EE【进阶】,spring boot,logback,intellij idea,java

Lombok运行原理流程:

lombok如何使用,技术操作,Java EE【进阶】,spring boot,logback,intellij idea,java


四,Lombok使用

常见的Lombok基本注解

注解 注解作用
@Getter 自动生成字段的getter方法
@Setter 自动生成字段的setter方法
@ToString 自动生成toString方法
@EqualsAndHashCode 自动生成equals和hashCode方法
@NoArgsConstructor 自动生成无参构造函数
@AllArgsConstructor 自动生成包含所有字段的构造函数

常见的Lombok组合注解

注解 注解作用
@Data 组合了@Getter、@Setter、@ToString、@EqualsAndHashCode等注解的功能
@Value 组合了@Getter、@ToString、@EqualsAndHashCode等注解的功能

思考:@Data注解和@Value注解有哪些区别?

解答:@Data生成的类是可变的,具有可读写的setter方法,@Value生成的类是不可变的,字段是final的,没有生成setter方法。

Lombok日志注解

注解 注解作用
@Slf4j 自动生成一个名为log的日志记录器

Lombok其他注解

注解 注解作用
@Builder 自动生成Builder模式的构造器方法
@NonNull 自动生成非空检查
@Delegate 自动生成委托方法
@Cleanup 自动释放资源

日志注解的使用

在上篇博客讲解日志打印的方式时,不难发现每次都使用LoggerFactoy.getLogger(lxxx.class)方法获取到 log对象的过程比较繁琐,而且要确保每个类对应的包都导入成功,那有什么方法来解决这个问题吗?

答案肯定是有的,使用Lombok中的日志注解@SIf4j就可以很好地解决上述操作过程的繁琐问题。

在添加 lombok 框架依赖后,使用 @Slf4j 注解就可在程序中使用log对象输入日志内容,并且只能使用 log 对象才能输出。

那为啥只能使用 log 对象才能输出呢? 这是因为log对象是lombok提供的对象。

使用Lombok的日志注解,并经过Lombok的一系列处理操作后,@Slf4J 注解会自动转换成对应的log对象创建代码。

与之对应的.java文件和编译生成的.class文件对比图:

lombok如何使用,技术操作,Java EE【进阶】,spring boot,logback,intellij idea,java


结语

这就是本期博客的全部内容啦!如果有什么其他的问题无法自己解决,可以在评论区留言哦!

最后,如果你觉得这篇文章写的还不错的话或者有所收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(点赞👍,评论✍,收藏📖),多多支持一下!各位的支持是我最大的动力,后期不断更新优质的内容来帮助大家,一起进步。那我们下期见!

lombok如何使用,技术操作,Java EE【进阶】,spring boot,logback,intellij idea,java文章来源地址https://www.toymoban.com/news/detail-677295.html


到了这里,关于【工具篇】Lombok 介绍及使用(详细教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaWeb小项目——【源码】使用Vue+axios+Servlet+Lombok+JDBC+MySQL技术栈实现云笔记管理系统案例的开发

    使用Vue+axios+Servlet+Lombok+JDBC+MySQL技术栈实现云笔记管理系统案例的开发 (一)题目要求 使用Vue+axios+Servlet+Lombok+JDBC+MySQL技术栈实现云笔记管理系统案例的开发 (二)数据库设计(10分) 创建数据库woniu_note (1)用户表:t_user,必要字段包含:用户名(username)、密码(passwd)

    2024年02月09日
    浏览(38)
  • Javaweb之数据库连接池以及lombok类库的详细解析

    在前面我们所讲解的mybatis中,使用了数据库连接池技术,避免频繁的创建连接、销毁连接而带来的资源浪费。 下面我们就具体的了解下数据库连接池。 3.1 介绍 没有使用数据库连接池: 客户端执行SQL语句:要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行后又需要

    2024年02月03日
    浏览(71)
  • Lombok 的安装与使用

    Lombok(“Project Lombok”)是一款针对 Java 开发的实用工具库。它通过使用 注解 自动生成 Java 类的通用代码,从而简化了 Java 代码的编写过程。Lombok 的 目标是减少样板代码(boilerplate code),提高代码的简洁性和可读性 。 在传统的 Java 开发中,常常需要为 Java 类编写大量的

    2024年02月14日
    浏览(27)
  • Java使用Lombok详解

    Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode() 和 equals() 、 getter / setter 这样的方法以及以往用来分类各种 accessor 和 mutator

    2023年04月08日
    浏览(36)
  • Lombok @Data使用的坑

    ​ 在开发过程中,Lombok为我们提供了非常便捷的开发。使用注解,就能帮助我们生成get set 方法,使代码看起来更加优雅。但是@Data注解在有些情况下会有坑, 使用过程中慎用。 坑在什么地方 上面是两个常见的类,Student继承Person1.我们看下Student生成的class文件 通过观察发现

    2024年01月19日
    浏览(43)
  • Lombok的使用及注解含义

    Lombok可以通过注解来帮助我们简化实体对象(POJO)的代码书写 File - Settings - Plugins 安装完成后重启IDEA 在 pom.xml 文件里增加 @Getter / @Setter :自动生成类的 get() 和 set() 方法 @ToString :自动生成 toString() 方法 @NoArgsConstructor / @AllArgsConstructor :自动生成无参构造函数,全参构造函

    2024年02月13日
    浏览(35)
  • idea中lombok插件使用

    lombok插件减少实体类中的getter/setter方法的编写,让实体类变得简洁。 在Settings-Plugins中选择Browse repositories 安装之后重启idea。 在maven工程中依赖lombok 在实体类中直接加注解, 虽然没有写getter/setter方法,但是外界可以调用 lombok的出现,是为了简化Java的Bean对象,将大量重复,没有

    2024年02月08日
    浏览(37)
  • idea使用lombok编译问题

    idea编译报错问题如下: 解决方案 1.先将jdk替换为openjdk,随后将项目配置都修改为新增的opendjk 2.在idea配置中File-Settings中找到配置如下 -Djps.track.ap.dependencies=false

    2024年02月05日
    浏览(59)
  • Android Studio使用lombok插件

    1,使用android studio,在插件中检索lombok下载安装。 2,build.gradle导入依赖 implementation \\\'org.projectlombok:lombok:1.18.8\\\' annotationProcessor \\\'org.projectlombok:lombok:1.18.8\\\' 3,使用 //通过注解方式来使用此插件 @AllArgsConstructor全参构造 @NoArgsConstructor//无参构造 @Data//get set 4, lombok简介_晓风残月( ̄

    2024年02月08日
    浏览(37)
  • IDEA 安装lombok及使用详解

    目录 ① 为什么使用 ② 如何安装 1.安装lombok插件:    2.添加lombok的maven的pom.xml依赖:   3.实体类示例代码Student.java 4.测试类LombokTest.java    5. 输出结果:    ③ 常用且特殊注解 ① 为什么使用   项目中经常使用bean,entity等类,绝大部分数据类类中都需要get、set、toString、e

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包