我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

当前位置: 首页 > 知识 > lombok常用注解

1. 简介

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

2. 常用注解

2.1 @Getter / @Setter

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

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

2.2 @NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor

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

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

2.3 @ToString

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

@ToStringpublic class User {    private String name;    private int age;}

2.4 @EqualsAndHashCode

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

@EqualsAndHashCodepublic class User {    private String name;    private int age;}

2.5 @Data

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

@Datapublic class User {    private String name;    private int age;}

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

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

@Slf4jpublic 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

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

@Synchronizedpublic 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 可能会提高性能,因为它可以减少模板化代码的使用。

免责声明:本站内容(文字信息+图片素材)来源于互联网公开数据整理或转载,仅用于学习参考,如有侵权问题,请及时联系本站删除,我们将在5个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)

我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

132-7207-3477

上班时间

周一到周五 09:00-18:00

二维码
线