“小辣椒”,Lombok

编程入门 行业动态 更新时间:2024-10-24 02:24:15

“<a href=https://www.elefans.com/category/jswz/34/1674149.html style=小辣椒”,Lombok"/>

“小辣椒”,Lombok

注:该文是本博主记录学习之用,没有太多详细的讲解,敬请谅解!

在Java项目里,每个JaveBean中我们都需要创建get/set方法,虽然idea中提供了快速构建get/set方法,但是每次增删改属性都需要维护它的get/set方法,特别麻烦。所以今天介绍Lombok插件,使我们平常在开发过程中提高效率,使JavaBean的代码可以至少省一半。

一、什么是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.

翻译:Lombok是一个java库,可以自动插入编辑器并构建工具,为您的java增添色彩。
永远不要再写另一个getter或equals方法,使用一个注释,您的类具有一个功能齐全的构建器,自动化您的日志记录变量等等。

二、如何使用Lombok

1、安装插件和配置依赖


如上图所示,Lombok支持所有主流的 IDE 开发工具及编译构建工具,上图Bulid tool就是集成编译构建工具,IDEs就是各个ide开发工具的插件介绍。

因为本人使用的是Intellij IDEA,所以接下来介绍在IDEA中安装Lombok插件,使编译的时候不会报错。
点击上图的Intellij IDEA,跳转到官网的教程。


下面配上Intellij IDEA安装Lombok插件的教程…,因为我已经安装过Lombok插件,所以图下红色箭头之中的地方显示的是update按钮,如果未安装,这个按钮是绿色Install字样。

下面是 Maven 的依赖配置,在用 Maven 打包的时候也能自动生成需要的代码,在官网上点击
install–>maven。

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

如果你使用了 Spring Boot,可以不用带版本号,在 Spring Boot spring-boot-dependencies.pom 这个配置文件里面定义了 Lombok 依赖。
所以,你只需要继承版本号即可,当然,有必要的话,你也可以自定义版本号。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope>
</dependency>
2、使用注解简化代码

在Lombok的包中我们可以看到所有支持的注解。

1、@Getter和@Setter

添加 @Getter 和 @Setter 注解用在 Java Bean 类上面,无需生成 get/ set 方法,会自动生成所有的 get/ set 方法及一个默认的构造方法。


2、@ToString

使用在类上,默认生成所有非静态字段以下面的格式输出。

public String toString(){return "User(userName=" + getUserName() + ", id=" + getId() + ", age=" + getAge() + ", address=" + getAddress() + ", memo=" + getMemo() + ")";
}

3、@NoArgsConstructor

使用在类上,默认生成一个无参的构造方法。

4、@RequiredArgsConstructor

使用在类上,使用类中所有带有 @NonNull 注解和 final 类型的字段生成对应的构造方法。

5、@AllArgsConstructor

用在类上,生成一个所有参数的构造方法,默认不提供无参构造方法。

6、@Data

用在类上,等同于下面这几个注解合集。

  • @Getter
  • @Setter
  • @RequiredArgsConstructor
  • @ToString
  • @EqualsAndHashCode

7、@Value

用在类上,等同于下面这几个注解合集。

  • @Getter
  • @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE)
  • @AllArgsConstructor
  • @ToString
  • @EqualsAndHashCode

8、@NonNull

用在属性上,用于字段的非空检查,如果传入到 set 方法中的值为空,则抛出空指针异常,该注解也会生成一个默认的构造方法。

9、@Log4j
用在类上,为类提供一个 属性名为log 的 log4j 日志对像

等同于:private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(User.class);

10、@EqualsAndHashCode

用在类上,自动生成equals方法和hashCode方法

11、@Slf4j

@Slf4j跟Log4j一样,为类提供一个 属性名为log 的 Slf4j日志对像
等同于: private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(User.class);

=============================================
以上主要是讲解日常使用频繁的注解,还有更多注解,有兴趣的同学自行学习,谢谢!

附上Lombok api文档地址:.html

更多推荐

“小辣椒”,Lombok

本文发布于:2024-02-08 13:41:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1674144.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:小辣椒   Lombok

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!