【整理】url:
https://www.jianshu.com/p/c1ee7e4247bf
@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;
@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;
直接在相应的实体类上加上@Data注解即可;
例如一个简单的Person类
public
class
Person {
private
String
name;
private
Integer
age;
private
String
phone;
public
Person() {
}
public
Person(
String
name,
Integer
age,
String
phone) {
this.
name = name;
this.
age = age;
this.
phone = phone;
}
public
String
getName() {
return name;
}
public
void
setName(
String
name) {
this.
name = name;
}
public
Integer
getAge() {
return age;
}
public
void
setAge(
Integer
age) {
this.
age = age;
}
public
String
getPhone() {
return phone;
}
public
void
setPhone(
String
phone) {
this.
phone = phone;
}
@
Override
public
String
toString() {
return
"Person{" +
"name='" + name +
'
\'
' +
", age=" + age +
", phone='" + phone +
'
\'
' +
'}';
}
}
使用@Data
@
Data
@
AllArgsConstructor
@
NoArgsConstructor
public
class
Person {
private
String
name;
private
Integer
age;
private
String
phone;
}
常用的几个注解:
@Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllArgsConstructor : 注在类上,提供类的全参构造
@NoArgsConstructor : 注在类上,提供类的无参构造
@Setter : 注在属性上,提供 set 方法
@Getter : 注在属性上,提供 get 方法
@EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log
@Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllArgsConstructor : 注在类上,提供类的全参构造
@NoArgsConstructor : 注在类上,提供类的无参构造
@Setter : 注在属性上,提供 set 方法
@Getter : 注在属性上,提供 get 方法
@EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log