前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Lombok简介

Lombok简介

作者头像
魚迹
发布2023-05-06 21:36:37
2310
发布2023-05-06 21:36:37
举报

Lombok简介

1、lombok简介

Lombok是一个第三方的Java工具库,会自动插入编辑器和构建工具。Lombok提供了一组非常有用的注解,用来消除Java类中的大量样板代码,比如settergetter方法、构造方法等。只需要在原来的JavaBean上使用@Data注解就可以替换数十行或数百行代码,从而使代码变得更加清爽、简捷且易于维护。

示例:

代码语言:javascript
复制
//使用@Data注解可以省略getter和setter方法,构造方法等
@Data
public class User {
    private Integer id;
    private String name;
    private String password;
    
}

在上述代码中并没有写gettersetter等方法,但查看user类的结构中具有这些并未显示写出的方法,如下所示:

在这里插入图片描述
在这里插入图片描述

Lombok工具解决的是项目里JavaBean中大量的getter、setter、equals()、toString()等可能不会用到但是仍然需要在类中定义的方法,在使用Lombok后,将由它来自动实现部分代码的生成工作,可以极大地减少开发者编写代码的工作量,精简和优化这些JavaBean

2、springboot整合lombok

若使用idea则可在创建项目是选择lombok依赖,若不选择也没关系,直接在pom文件中添加如下依赖:

代码语言:javascript
复制
 <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
 </dependency>

之后使用lombok则只需要在实体类前加入@Data注解,如下所示:

在这里插入图片描述
在这里插入图片描述

如上所示就不需要在写gettersetter等方法。

注意:@Data注解是一个比较“霸道”的注解,不仅能够生成JavaBean中所有属性的gettersetter方法,还自动提供equalscanEqualhashCodetoString方法。

如果不想生成这么多内容,可以使用其他的注解来实现开发时的需求。

  • @Setter:注解在属性上,为属性提供setting方法。
  • @Getter:注解在属性上,为属性提供getting方法。
  • @Log4j:注解在类上,为类提供一个属性名为log的log4j日志对象。
  • @NoArgsConstructor:注解在类上,为类提供一个无参的构造方法。
  • @AllArgsConstructor:注解在类上,为类提供一个全参的构造方法。
  • @Builder:为被注解的类加一个构造者模式。
  • @Synchronized:加同步锁。
  • @NonNull:给参数加上这个注解,当参数为null时,会抛出空指针异常。
  • @Value:注解和@Data注解类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Lombok简介
  • 1、lombok简介
  • 2、springboot整合lombok
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档