Lombok 롬복 사용하기 / @어노테이션

cheongyeong·2023년 10월 25일

💡 Lombok이란

자바의 annotation processor 라는 기능을 이용해서 컴파일 시점에 어노테이션을 읽어 다양한 메서드와 생성자 등을 생성해주는 라이브러리이다.

개발자가 해야하는 기본적이고 반복적인 일들을 정해진 위치에 @어노테이션을 사용하면 롬복이 이런 일들을 대신 해주는 것.

💡 Lombok 어노테이션

@Getter / @Setter

필드 하나에 getter와 setter를 생성해줘야해서 코드 양이 많았는데,
Lombok이 getter와 setter를 생성해주기 때문에 필드만 생성해주면 된다.

@Getter
@Setter
@Entity
@Table(name = "member_table")
public class MemberEntity {
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY)    

    private Long id;

    @Column(unique = true) 
    private String memberEmail;

    @Column
    private String memberPassword;

    @Column
    private String memberName;
    }

@RequiredArgsConstructor

final 또는 @NonNull 키워드가 붙은 필드에 대해서 생성자를 자동으로 만들어준다.
스프링에서는 의존성 주입을 해줄 때 자주 사용한다.

@NoArgsConstructor

final 같은 키워드가 아무것도 붙지 않은 필드의 생성자를 자동으로 생성한다.

@AllArgsConstructor

모든 필드에 대한 생성자 자동 생성.

@ToString

Class의 변수를 String으로 예쁘게 출력해주는 toString() 메서드를 자동으로 생성해주는 어노테이션이다.

💡 Lombok 사용 시 주의사항

@Setter 사용 자제
setter 때문에 값이 변할 수 있어서 setter는 필요한 곳에만 사용하기

무한 루프
스프링과 JPA를사용 시 toString()이 무한 루프를 야기할 수 있다.

profile
👩‍💻💡

0개의 댓글