롬복(Lombok)
롬복이란 어노테이션을 기반으로 코드를 자동완성 해주는 라이브러리를 말합니다. 그렇다면 롬복은 왜 사용할까요??
롬복을 사용하면 getter/setter나 생성자 같이 반복되는 코드들을 줄여주기 때문에 코드의 가독성을 높일 수 있습니다.
그렇다면 이제 대표적인 롬복 어노테이션의 종류에 대해 알아보겠습니다.
어노테이션 종류
@Getter, @Setter
특정 필드 위에 해당 어노테이션을 붙여주면 자동으로 생성된 접근자와 설정자 메소드를 사용할 수 있습니다.
아래와 같이 클래스에 붙여줄 경우 모든 필드에 접근자와 설정자가 자동으로 생성됩니다.
@Getter @Setter
public class Member {
private final Long id;
private String name;
private int age;
}
@NoArgsConstructor
해당 어노테이션을 클래스에 붙여주면 매개변수가 없는 기본 생성자를 생성합니다.
public Member() {
}
하지만 위의 예제처럼 클래스에 final 변수가 있을 경우 컴파일 에러가 발생하므로 주의해야 합니다. 이때 @NoArgsConstructor(force=true)와 같이 force=true 옵션을 지정하면 final 필드를 기본값으로 강제 초기화할 수 있습니다.
@AllArgsConstructor
해당 어노테이션을 클래스에 붙여주면 모든 매개변수 값을 포함한 생성자를 생성합니다.
public Member(Long id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@RequiredArgsConstructor
해당 어노테이션을 클래스에 붙여주면 final 필드와 @NotNull 어노테이션이 붙은 필드에 대한 생성자를 생성합니다.
public Member(Long id) {
this.id = id;
}
@Data
@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한번에 생성해줍니다.
'Spring > Spring' 카테고리의 다른 글
빈 생명주기와 콜백 (0) | 2022.03.03 |
---|---|
의존관계 주입 방법 (0) | 2022.03.03 |
객체지향 설계와 스프링 (0) | 2022.02.28 |
@Bean과 @Component (0) | 2022.01.27 |
스프링 컨테이너와 컴포넌트 스캔 (0) | 2022.01.20 |