Lombok插件详解(包含版本问题)

Lombok是一个实用的Java类库,能够通过注解的形式自动生成构造器,getter/setter等,并且可以自动化生成日志变量,减少 Java 代码中的冗余和样板代码,简化Java开发,提高效率(setting,plugins中搜索Lombok插件(一般会自带))

安装方法:

方法一

直接向lib文件夹中添加lombok.jar包即可,(还是方法二比较通用)

方法二 如果使用的是Maven,则可在项目的pom.xml文件中添加以下依赖:

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.16.12</version>

</dependency>

通过以上两种方法的确可以使用Lombok的相关API了,但无论是Intelij idea,还是Eclipse默认情况下是不能识别的,我们还要让idea识别起来。

Intellij Idea方法:

File->settings->Plugins->Browse repositories->Lombok

(一般来说,idea是会自带的)

Lombok的使用

Lombok提供注解方式来提高代码的简洁性,常用注解有:

  • @Data(等于@Getter+@Setter+@ToString+@EqualsAndHashCode)
  • @Setter @Getter
  • @NonNull(自动生成非空检查)
  • @NoArgsConstructor(无参构造)
  • @AllArgsConstructor
  • @ToString
  • @EqualsAndHashCode
  • @Builder(自动生成Builder模式的构造器方法)
  • (其实也就上面这些比较常用)
  • @Synchronized
  • @Cleanup(自动释放资源)
  • @SneakyThrows

最直接的用法

lombok的优缺点

优点:

能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一些开发效率

让代码变得简洁,不用过多的去关注相应的方法

缺点:

不支持多种参数构造器的重载

虽然省去了手动创建getter/setter方法的麻烦,但降低了源代码的可读性和完整性,降低了阅读源代码的舒适度

出现的版本问题

然后要说的就是lombok的版本问题了,这确实是比较烦的一点,运行项目时,经常会因为lombok的版本的问题导致无法运行。。。

建议使用这个,就无需手写版本了

java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'

一般出现这种报错,那大概率就是lombok版本出问题了。

<!--        <dependency>-->
<!--            <groupId>org.projectlombok</groupId>-->
<!--            <artifactId>lombok</artifactId>-->
<!--            <scope>provided</scope>-->
<!--        </dependency>-->

下面就是关于Lombok日志注解,这也是我觉得相当不错的一个功能

注解

注解作用

@Slf4j

自动生成一个名为log的日志记录器

写上注解之后就可以在代码中使用log.info了,在排查代码执行情况的时候大大的好用。

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值