添加依赖
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;
}