美文网首页
「快速上手」Lombok常用注解大全

「快速上手」Lombok常用注解大全

作者: 小吴不睡觉 | 来源:发表于2023-06-11 22:27 被阅读0次

Lombok注解教学

Lombok是一个Java库,它通过注解的方式来简化Java代码的编写,减少样板代码(boilerplate code)的重复,提高代码的可读性和可维护性。本文将介绍Lombok库中常用的注解及其用法。

1. @Getter和@Setter

@Getter和@Setter是Lombok中最常用的注解之一,它们用于自动生成Java Bean类的Getters和Setters方法。使用这两个注解可以减少代码量,提高代码的可读性和可维护性。

使用方式:

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class User {
    private String name;
    private int age;
}

注解的作用:

在上面的代码中,我们使用了@Getter和@Setter注解来自动生成User类的Getters和Setters方法,这样我们就可以通过下列代码来访问User类的属性:

User user = new User();
user.setName("Tom");
user.setAge(20);
System.out.println(user.getName());
System.out.println(user.getAge());

2. @ToString

@ToString注解可以自动生成toString方法。这个方法可以将一个对象的属性转换成一个字符串,方便输出调试信息。

使用方式:

import lombok.ToString;

@ToString
public class User {
    private String name;
    private int age;
}

注解的作用:

在上面的代码中,我们使用了@ToString注解来自动生成User类的toString方法,这样我们就可以通过下列代码来输出User对象的属性:

User user = new User();
user.setName("Tom");
user.setAge(20);
System.out.println(user);

输出结果为:

User(name=Tom, age=20)

3. @EqualsAndHashCode

@EqualsAndHashCode注解可以自动生成equals和hashCode方法。这个方法可以用来比较两个对象是否相等。

使用方式:

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class User {
    private String name;
    private int age;
}

注解的作用:

在上面的代码中,我们使用了@EqualsAndHashCode注解来自动生成User类的equals和hashCode方法,这样我们就可以通过下列代码来比较两个User对象是否相等:

User user1 = new User();
user1.setName("Tom");
user1.setAge(20);

User user2 = new User();
user2.setName("Tom");
user2.setAge(20);

System.out.println(user1.equals(user2));

输出结果为:

true

4. @NoArgsConstructor和@AllArgsConstructor

@NoArgsConstructor和@AllArgsConstructor注解可以自动生成无参构造方法和全参构造方法。

使用方式:

import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String name;
    private int age;
}

注解的作用:

在上面的代码中,我们使用了@NoArgsConstructor和@AllArgsConstructor注解来自动生成User类的无参构造方法和全参构造方法,这样我们就可以通过下列代码来创建User对象:

User user1 = new User();
User user2 = new User("Tom", 20);

5. @Data

@Data注解可以自动生成Getter、Setter、equals、hashCode和toString方法,相当于同时使用了@Getter、@Setter、@EqualsAndHashCode和@ToString注解。

使用方式:

import lombok.Data;

@Data
public class User {
    private String name;
    private int age;
}

注解的作用:

在上面的代码中,我们使用了@Data注解来自动生成User类的Getter、Setter、equals、hashCode和toString方法,这样我们就可以通过下列代码来访问User类的属性、比较两个User对象是否相等以及输出User对象的属性:

User user1 = new User();
user1.setName("Tom");
user1.setAge(20);

User user2 = new User();
user2.setName("Tom");
user2.setAge(20);

System.out.println(user1.equals(user2));
System.out.println(user1.toString());

输出结果为:

true
User(name=Tom, age=20)

6. @Builder

@Builder注解可以自动生成Builder模式的代码。Builder模式是一种创建对象的设计模式,它可以让我们更加灵活地创建对象,同时也可以提高代码的可读性和可维护性。

使用方式:

import lombok.Builder;

@Builder
public class User {
    private String name;
    private int age;
}

注解的作用:

在上面的代码中,我们使用了@Builder注解来自动生成User类的Builder模式的代码,这样我们就可以通过下列代码来创建User对象:

User user = User.builder()
                .name("Tom")
                .age(20)
                .build();

7. @Slf4j

@Slf4j注解可以自动生成日志记录代码。日志记录是一种常用的调试和错误处理方法,它可以帮助我们更好地了解程序的运行情况。

使用方式:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class User {
    private String name;
    private int age;
    
    public void hello() {
        log.info("Hello, {}!", name);
    }
}

注解的作用:

在上面的代码中,我们使用了@Slf4j注解来自动生成User类的日志记录代码,这样我们就可以通过下列代码来记录User对象的hello方法的调用情况:

User user = new User();
user.setName("Tom");
user.hello();

输出结果为:

INFO  User:9 - Hello, Tom!

总结

Lombok是一个非常实用的Java库,它可以帮助我们简化Java代码的编写,减少样板代码的重复,提高代码的可读性和可维护性。本文介绍了Lombok中常用的注解及其用法,包括@Getter、@Setter、@ToString、@EqualsAndHashCode、@NoArgsConstructor、@AllArgsConstructor、@Data、@Builder和@Slf4j。通过学习这些注解,我们可以更加高效地编写Java代码。

相关文章

  • Java基础系列-Lombok常用注解

    原创文章,转载请标注出处:《Java基础系列-Lombok常用注解》 Lombok注解解析: @NonNull 使...

  • SpringBoot常用注解大全 Day19 2018-12-0

    SpringBoot常用注解大全 一、注解(annotations)列表 @SpringBootApplicati...

  • Lombok常用注解

    和其他语言相比, Java经常因为不必要的冗长被批评。 Lombok提供了一系列注解用以在后台生成模板代码,将其从...

  • Lombok常用注解

    Project Lombok is a java library that automatically plugs...

  • Lombok常用注解

    Lombok常用注解 加入 maven 依赖 1. @Getter/@Setter 自动产生 getter/set...

  • Lombok 常用注解

    经常用 @Data 注解标记在实体类上面快速实现getter 和 setter, 而它好用地注解应该不至于这一个,...

  • Lombok常用注解

    加入 maven 依赖 Lombok常用注解概览 1. @Getter/@Setter 自动产生 getter/s...

  • Lombok常用注解

    加入 maven 依赖 1. @Getter/@Setter 自动产生 getter/setter 2. @ToS...

  • 2.使用lombok

    lombok:使用注解的形式来简化一些必要但重复性的代码,在编译时生成对应的代码。 几个常用的 lombok 注解...

  • Gradle项目引入Lombok

    接前面一篇文章 《Lombok常用注解的使用总结》 这里主要讲解,如何在Gradle项目中引入Lombok依赖。 ...

网友评论

      本文标题:「快速上手」Lombok常用注解大全

      本文链接:https://www.haomeiwen.com/subject/rpefydtx.html