Lombok介绍和使用

引入使用

官网有简单的安装和使用教程。

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

IEDA安装介绍

image.png

Lombok介绍和优点

https://projectlombok.org/

介绍:通过简单注解来实现精简代码来达到消除冗长代码的目的。
优点:提高编码效率、使代码更简洁、消除冗长代码、避免修改字段名时忘记修改方法名、提高逼格;

默认支持了:Log4J 和 logback

经常使用的注解以及含义:
加载在类上的哦;

@Data 包含了Getter、Setter、ToString、 EqualsAndHashCode 方法;没有包含全参构造和无参构造

@Getter 自动生成Get方法
@Getter(AccessLevel.PROTECTED) 生成的方法是protected
@Setter
@Setter(AccessLevel.PROTECTED)
@NoArgsConstructor 无参构造器
@AllArgsConstructor 所有参数的构造器
@ToString
@ToString(exclude = "column") 排除column 属性
@EqualsAndHashCode 重写Equals 和 HashCode 方法
@EqualsAndHashCode(exculde="column")
@Slf4j 日志
@Log4j

排除多个参数
@ToString(exclude = "column") 排除column 属性
@ToString(exclude = {"column","column2"}) 排除column,column2 属性

@ToString(of="column") 指定包含column 属性
@ToString(of={"column","column2"}) 指定包含column,column2 属性

@EqualsAndHashCode(exculde="column")
@EqualsAndHashCode(exculde={"column","column2"})

@EqualsAndHashCode(of="column")
@EqualsAndHashCode(of={"column","column2"})

Lombok使用需要注意的点

1)在类需要序列化、反序列化时详细控制字段时。

2)在使用lombok 虽然能够省去手动创建setter和getter方法繁琐,
但是却降低了源代码文件的可读性和完整性,降低了阅读源代码的舒适度。

3)使用@Slf4 还是 @Log4J 看教程中使用的框架

4)选择合适的地方使用Lombox ,例如:POJO,因为POJO 比较单纯

实现原理

Source File :源代码
Parse: 编译程序会对源代码进行分析/解析 过程
AST: 生成一个抽象语法树
Annotation Processing: 处理过程
Lombok Annotation Processor : Lombok 注解 处理器
Lombok Annotation Handler :找到该类对应的语法树,修改语法树
Modified AST:修改该语法树生成,修改后的语法树,增加Getter 和 Setter树结点
Analyze and Generate : 解析和生成
Byte Code:字节码文件

image.png

作者:MarlonSH
链接:https://www.jianshu.com/p/a1c95b35dc88
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

原文地址:https://www.cnblogs.com/telwanggs/p/10840459.html

时间: 2024-08-03 07:56:28

Lombok介绍和使用的相关文章

lombok 介绍及基本使用方法

Lomboz是一个基于LGPL的开源J2EE综合开发环境的Eclipse插件,对编码,发布,测试,以及debug等各个软件开发的生命周期提供支持,支持JSP,EJB等.Lomboz是Eclipse的一个J2EE的插件,它将很多Java应用服务器.J2EE组件和Web应用开发集成到Eclipse中,可以帮助Java开发者使用Eclipse建立.测试.部署J2EE应用. 在http://www.blogjava.net/fancydeepin/archive/2012/07/12/lombok.ht

【转】Lombok介绍、使用方法和总结

链接:http://www.yuanrengu.com/index.php/20180324.html 1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code. 大致意思是Lombok通过增加一些“处理程序”,可以让ja

Lombok介绍、使用方法和总结

1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code. 大致意思是Lombok通过增加一些“处理程序”,可以让java变得简洁.快速. 2 Lombok使用方法 Lombok能以简单的注解形式来简化java代码,提高开

lombok介绍

Lombok是一种JavaArchive(JAR)文件,可用来消除Java代码的冗长.在写代码时,可以通过这个插件消除各种getter和setter,toString等常用方法. lombok 注解:    lombok 提供的注解不多,可以参考官方视频的讲解和官方文档.    Lombok 注解在线帮助文档:http://projectlombok.org/features/index.    几个常用的 lombok 注解:        @Data   :注解在类上:提供类所有属性的 ge

Lombok 介绍

Lombok是什么 Lombok 是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法. 官方地址: https://projectlombok.org/ github地址: https://github.com/rzwitserloot/lombok Lombok安装 下载 Lombok (1.16.20) 在 eclipse.ini 文件末尾添加-javaagent:lombok-1.16.20.ja

Lombok快速入门

Lombok介绍: Lombok其实就是取名自龙目岛(Pulau Lombok),龙目岛是印度尼西亚西努沙登加拉(Nusa Tenggara Barat)省岛屿,西隔龙目海峡面对巴厘岛,东隔阿拉斯(Alas)海峡面松巴哇(Sumbawa)岛,北濒爪哇海,南临印度洋. 在编程上,Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法.简而言之,一句话就是:通过简单的注解来精简代码达到消除冗长代码的

使用Lombok总结

Lombok学习总结 Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Lombok介绍: 官网:https://projectlombok.org/ 通过简单的注解来精简代码达到消除冗长代码的目的 Lombok优点:提高编码效率,使代码更简洁,消除冗长代码,避免修改字段名字时忘记修改方法名 注意:idea上必须要支持L

Lombok使用方法

资料 : 1.学习Spring Boot:(十五)使用Lombok来优雅的编码 https://www.cnblogs.com/qnight/p/8997493.html 2.Lombok介绍.使用方法和总结 http://www.yuanrengu.com/index.php/20180324.html Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率. 例如: 开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器.

SpringBoot 系列

https://my.oschina.net/xiedeshou?tab=newest&catalogId=5936801 SpringBoot | 第零章:前言 SpringBoot | 第一章:第一个SpringBoot应用 SpringBoot | 第二章:lombok介绍及简单使用 SpringBoot | 第三章:springboot配置详解 SpringBoot | 第四章:日志配置 SpringBoot | 第五章:多环境配置 SpringBoot | 第六章:常用注解介绍及简单使