Server/Spring
[spring] Lombok annotation
aonee
2020. 2. 20. 16:45
@Data
:@Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode 제공
모든 멤버변수의 생성자 및 접근자, ToString, equeals, hashCode등 모든 메소드 자동 생성
사용하지 않는 메소드까지 만들어주므로 고민 후 필요에 맞게 사용해야한다.
또한, Builder 클래스는 자동으로 생성되지 않는다.
@NoArgsConstructor
: Default 생성자 자동 생성. 같은 기능의 생성자가 이미 존재할 경우 compile error.
(단, 생성자 만들어줄 경우 Default생성자 자동생성 안됨. )
@AllArgsConstructor
: 모든 필드에 대한 생성자 자동 생성
@NonNull
: 클래스가 아닌 필드에 붙는 Annotation.
Runtime시에 Null체크를 통해 NullPointerException발생.
Compile시에는 Null체크 안함
@RequiredArgsConstructor
: @NonNull필드 or final이 붙은 필드의 생성자 자동 생성.
@Builder
: 자동으로 Builder 클래스 및 메소드 생성
Inner Class로 Builder 클래스 생성.
@Builder
public class TestBuilder{
private int userIdx;
private String name;
private String email;
}
public class Main{
public static void main(String... args){
TestBuilder
}
}
반응형