[WEB]Back-end
Lombok 빠르게 정리
이운형
2021. 12. 30. 23:14
반응형
@Getter => 다른곳에서 호출 가능하게 해줘! (문열어)
public class test {
private String id;
//@Getter
public String getId(){
return id;
}
}
@Setter = > 다른곳에서 무작위로 바꿀수 있게 해줘(너를 마음대로 바꿀꺼야) == 최대한 쓰지말자
public class test {
private String id;
//@Setter
public void setId(String id) {
this.id = id;
}
}
@NoArgsConstructor => 파라미터가 없는 생성자를 생성합니다. ex) void Name(int a, int b){} 에서 int a, int b 같은 애들을 파라미터라고 한다. == 최대한 쓰지말자
한계)
1. final로 생성된 경우 초기화가 안됨. => 오류발생
2. @NonNull 같은 제약조건은 무시해버림
public class test {
private String id;
//@NoArgsConstructor
public test(){
}
}
@RequiredArgsConstructor =>추가 작업을 필요로 하는 생성자를 생성 즉 final, @NonNull 필드들에 대해 생성자를 생성해준다. == 상황봐서 사용 OK!
public class test {
private String id;
private final String username;
//@RequiredArgsConstructor
public test(String username){
this.username = username;
}
}
@AllArgConstructor => 모든 필드에 대한 생성자를 생성한다. (다 생성자 만들어준다.)
public class test {
private String id;
private final String username;
//@AllArgsConstructor
public test(String id,String username){
this.id = id;
this.username = username;
}
}
@ToString => 필드에 맞게 알아서 출력해주는 어노테이션
만들어진 필드에 관해
test(id =id , password = password)
처럼 출력해준다. id는 id에 맞춰서 passward 는 password에 맞춰서 값을 넣어줘.
id를 제외하고 싶으면 @ToString(exclude={"id"})를 넣어주면
test( password = password)
만 출력되!
@ToString
public class test {
private String id;
private String passward;
}
test.setId("id");
test.setPassword("password")
// test(id =id , password = password)
@Data => 아래 5개 합친 어노테이션 , == 최대한 쓰지말자
@ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor
@EqualsAndHashCode는 잘 모르겠습니다. 꾸준히 공부중
반응형