lombok常用注解

1. 简介

lombok常用注解
(图片来源网络,侵删)

Lombok 是一个 Java 库,它通过注解的方式简化了 Java 语言中的一些冗长且重复的代码,使用 Lombok 可以大幅减少模板化代码,如 getter/setter、构造函数、toStringequalshashCode 方法等,接下来将详细介绍一些常用的 Lombok 注解。

2. 常用注解

2.1 @Getter / @Setter

这两个注解用于自动生成 getter 和 setter 方法。

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

2.2 @NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor

这三个注解分别用于生成无参构造器、带有所有 final 字段的构造器、带有所有字段的构造器。

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

2.3 @ToString

这个注解用于自动生成 toString 方法。

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

2.4 @EqualsAndHashCode

这个注解用于自动生成 equalshashCode 方法。

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

2.5 @Data

这个注解是 Lombok 提供的注解,用于自动生成 getter、setter、toStringequalshashCode 和所有参数的构造器。

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

2.6 @Slf4j / @Log4j / @Log4j2 / @Slf4j / @CommonsLog

这些注解用于自动生成日志对象。

@Slf4j
public class UserService {
    public void addUser(User user) {
        log.info("Adding user: {}", user);
    }
}

2.7 @NonNull / @Nullable

这两个注解用于标注一个变量或参数不能为 null 或可以为 null。

public void addUser(@NonNull User user) {
    // ...
}

2.8 @Synchronized

这个注解用于自动生成同步锁。

@Synchronized
public void addUser(User user) {
    // ...
}

2.9 @Value

这个注解用于自动生成基于表达式的值。

@Value("${user.name}")
private String userName;

3. FAQs

Q1: 使用 Lombok 注解后还需要手动编写 getter/setter 方法吗?

A1: 不需要,Lombok 会在编译时自动生成这些方法,如果需要自定义方法的逻辑,那么仍然可以手动编写。

Q2: Lombok 注解会影响性能吗?

A2: Lombok 注解不会影响运行时性能,因为它在编译时就会被处理,实际上,使用 Lombok 可能会提高性能,因为它可以减少模板化代码的使用。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/656014.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-05-27 01:02
下一篇 2024-05-27 01:03

相关推荐

  • java反射机制原理详解

    Java反射机制原理详解概述Java反射机制是Java语言中一种强大的功能,它允许程序在运行时动态地获取和操作类的信息,通过反射,我们可以在运行时检查类的结构、创建对象、调用方法、访问字段等,反射机制的实现主要依赖于Java的核心API:java.lang.reflect包。反射的主要用途1、动态加载类:在运行……

    2024-05-27
    062
  • lombok是干嘛的

    Lombok简介Lombok是一个Java库,旨在通过注解的方式自动插入编辑器中生成的代码,从而简化了Java开发人员的工作流程,它可以帮助开发者减少样板代码的编写,例如getter和setter方法、构造函数、equals方法等,Lombok通过提供注解来自动生成这些代码,使得源代码更加简洁,同时保持了与手动……

    2024-05-27
    0148

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入