lombok简介及使用

lombok简介

lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。

lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法,这就是lombok的神奇作用。

虽然有人可能会说IDE里面都自带自动生成这些方法的功能,但是使用lombok会使你的代码看起来更加简洁,写起来也更加方便。

lombok安装

  1. 给IDE装上lombok插件,如果不装虽然可以运行,但是编辑时会报一大堆错误警告

    官网下载,运行jar包选择eclipse进行安装

  2. 项目引入lombok.jar
    • 用maven命令
      <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> <scope>provided</scope> </dependency> </dependencies>
    • 将lombok.jar包放入项目的编译路径

lombok使用

@NonNull: 可以帮助我们避免空指针。

// 使用lombok
import lombok.NonNull;
public class NonNullExample extends Something {
    private String name;
    public NonNullExample(@NonNull Person person) {
        super("Hello");
        this.name = person.getName();
    }
}
// 不使用lombok
public class NonNullExample extends Something {
    private String name;
    public NonNullExample(@NonNull Person person) {
        super("Hello");
        if (person == null) {
            throw new NullPointerException("person");
        }
        this.name = person.getName();
    }
}

@Cleanup: 自动帮我们调用close()方法。

// 使用lombok
import lombok.Cleanup;
import java.io.*;
public class CleanupExample {
    public static void main(String[] args) throws IOException {
        @Cleanup InputStream in = new FileInputStream(args[0]);
        @Cleanup OutputStream out = new FileOutputStream(args[1]);
        byte[] b = new byte[10000];
        while (true) {
            int r = in.read(b);
            if (r == -1) break;
            out.write(b, 0, r);
        }
    }
}
// 不使用lombok
import java.io.*;
    public class CleanupExample {
        public static void main(String[] args) throws IOException {
            InputStream in = new FileInputStream(args[0]);
            try {
                OutputStream out = new FileOutputStream(args[1]);
                try {
                    byte[] b = new byte[10000];
                    while (true) {
                    int r = in.read(b);
                    if (r == -1) break;
                    out.write(b, 0, r);
                    }
                } finally {
                    if (out != null) {
                        out.close();
                    }
                }
            } finally {
                if (in != null) {
                in.close();
            }
        }
    }
}

@Getter / @Setter: 自动生成Getter/Setter方法

//使用lombok
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
public class GetterSetterExample {
    @Getter @Setter private int age = 10;
    @Setter(AccessLevel.PROTECTED) private String name;
}
// 不使用lombok
public class GetterSetterExample {
    private int age = 10;
    private String name;
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    protected void setName(String name) {
        this.name = name;
    }
}

其他注释

官网链接

原文地址:https://www.cnblogs.com/gizing/p/10926080.html

时间: 2024-10-16 23:44:29

lombok简介及使用的相关文章

Lombok简介

一般在javaWeb的model层都要用javabean 然后eclipse自动生成getter. setter方法. 现在有一个更方便的方法就是使用lombok.jar包 帮你自动生成,用注入的方式 使代码更简介 最常用的是这三个方法 @Data @AllArgsConstructor @NoArgsConstructor 更多详情请看这里链接

lombok的简单介绍和使用方法

这是上周在群里发现有人推荐lombok,他说是神器,当时就引起了我的好奇,然后下班回来我就看了看官网介绍(菜鸟英语水平),这就是难点了,然后就是大概了解了一下,就在网上查了查相关资料,周末的时候自己试了试,现在来做个总结: 官网:http://projectlombok.org/  :进去就有一个几分钟的视频介绍,不过是英语:还有相关的文档等. lombok简介:就是通过@Data注解的方式省去了我们平时开发定义JavaBean之后,生成其属性的构造器.getter.setter.equals.

Java开发速度神器Lombok,Eclipse端安装使用教程

一.Lombok简介 Lombok是一个代码生成器,可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法. 如:getter setter toString equels方法等都可以自动生成 使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解. 官方地址:https://projectlombok.org/ 二.Lombok安装 2.1自动安装 从官网下载Lombok.jar,

IDEA安装Lombok插件失败

Lombok简介 简化了冗余代码编写,减少了代码量.@Data注解的作用相当于 @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode的合集.@Log 省去了在LombokTest中添加 getLogger的如下代码: private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.

优雅的Java工具库Lombok

优雅的Java工具库Lombok 最近在公司的项目中看到了对于Lombok的应用,通过@Data注解标注POJO,省略了大量的getter/setter代码,原先冗长的POJO在瘦身之后直接变得干净.清爽,程序员再也不需要去关注那些长长的方法,只需要集中注意力于字段field之中 Lombok简介 Lombok是一个非常实用的Java工具库,有效地简化Java代码的冗长.它通过注解如@Data可以直接为Java bean在编译期动态地生成字段的getter/setter方法,使用注解@NoArg

IDEAL葵花宝典:java代码开发规范插件 lombok 插件

前言: lombok简介: lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. 那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段, 然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是

springboot的lombok

lombok概述 lombok简介 Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法:在使用Lombok之后,将由其来自动帮你实现代码生成,注意,其是 在运行过程中,帮你自动生成的 .就是说,将极大减少你的代码总量. lombok作用 消除模板代码 getter.setter.构造器.toString().equals() 便捷的生成比较复杂的代码,例如一个PO

SpringBoot集成Lombok,让代码优雅起来

一.Lombok简介 (1)Lombok官网(https://projectlombok.org/)对lombok的介绍 (2)GitHub项目地址:https://github.com/rzwitserloot/lombok 虽然是生硬的翻译,大家也大致可以看到Lombok存在的价值和意义,Lombok主要是可以提高开发效率,让我们这些小码农们工作时可以偷懒,让我们不再编写很多臃肿而定式的代码,虽然现在我们使用IDE工具可以生成很多,但是频繁的生成也会让我们的实体类看起来非常的臃肿.Lombo

lombok效率神奇使用

Lombok效率神器 标签(空格分隔): Java Lombok简介及使用 Lombok 是一种 Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO), 它通过注释实现这一目的.一个标准的Java bean 一般具有若干属性,每个属性具有getter()和setter()方法,Lombok中也用到了注解,但是它并没有用到反射,而是通过在代码编译时期动态将注解替换为具体的代码.所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同. 如果想