Home SpringBoot接入Lombok
Post
Cancel

SpringBoot接入Lombok

添加依赖

1
2
3
4
5
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

增加plugin

常用注解

  • @Data

会自动为数据类增加 get & set & equals & canEqual & hashCode & toString 方法

1
2
3
4
5
6
@Data
public class User {
    private String name;
    private String uid;
    private String email;
}
  • @Slf4j

自动引入类相关的log参数

1
2
3
4
5
6
@Slf4j
public class User {
    private String name;
    private String uid;
    private String email;
}

等价

1
2
3
4
public class User {
    private static final Logger log = LoggerFactory.getLogger(User.class);
    // ...
}
  • @Builder
1
2
3
4
5
6
@Builder
public class User {
    private String name;
    private String uid;
    private String email;
}

就可以使用builder模式来构造对象了

1
2
3
4
User user1 = User.builder()
        .uid(uid)
        .name(uid + ": " + System.currentTimeMillis())
        .email(uid + "@definesys.com").build();

会导致类变成全参的构造方法,并且是default的构造函数

  • @AllArgsConstructor & @NoArgsConstructor

一个是全参构造函数,一个是无参构造函数

1
2
3
4
5
6
7
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String name;
    private String uid;
    private String email;
}

等价于增加构造函数

1
2
3
4
5
6
7
8
public User() {
}

public User(final String name, final String uid, final String email) {
    this.name = name;
    this.uid = uid;
    this.email = email;
}
This post is licensed under CC BY 4.0 by the author.