lombok

김채영·2024년 7월 30일

라이브러리

목록 보기
1/2

lombok

  • 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리이다.
  • Getter, Setter, ToString, Equals와 같은 다양한 코드를 완성시킨다.
//lombok을 사용할 때,
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@ToString
public class Board extends Paging {
	private int board_no;
	private String board_title;
	private String board_content;
	private Date reg_date;
	private String order_type ="1";
	private List<String> bad_word;
	
}

//사용하지 않을 때,

public class Board extends Paging {
    private int board_no;
    private String board_title;
    private String board_content;
    private Date reg_date;
    private String order_type = "1";
    private List<String> bad_word;

    public Board() {}

    public Board(int board_no, String board_title, String board_content, Date reg_date, String order_type, List<String> bad_word) {
        this.board_no = board_no;
        this.board_title = board_title;
        this.board_content = board_content;
        this.reg_date = reg_date;
        this.order_type = order_type;
        this.bad_word = bad_word;
    }

    public int getBoard_no() {
        return board_no;
    }

    public void setBoard_no(int board_no) {
        this.board_no = board_no;
    }

    public String getBoard_title() {
        return board_title;
    }

    public void setBoard_title(String board_title) {
        this.board_title = board_title;
    }

 board_content
    public String getBoard_content() {
        return board_content;
    }

    public void setBoard_content(String board_content) {
        this.board_content = board_content;
    }

    public Date getReg_date() {
        return reg_date;
    }

    public void setReg_date(Date reg_date) {
        this.reg_date = reg_date;
    }
    
    public String getOrder_type() {
        return order_type;
    }

    public void setOrder_type(String order_type) {
        this.order_type = order_type;
    }

 
    public List<String> getBad_word() {
        return bad_word;
    }

    public void setBad_word(List<String> bad_word) {
        this.bad_word = bad_word;
    }

    
    @Override
    public String toString() {
        return "Board{" +
                "board_no=" + board_no +
                ", board_title='" + board_title + '\'' +
                ", board_content='" + board_content + '\'' +
                ", reg_date=" + reg_date +
                ", order_type='" + order_type + '\'' +
                ", bad_word=" + bad_word +
                '}';
    }
}

장점

  • 위처럼 코드의 간결해짐과 일관성을 보장할 수 있음.
  • 주로 반복적인 코드 작성을 줄이고 유지보수성을 향상시키는 데 중점을 둔다.

단점

  • API설명과 내부동작을 어느정도 숙지하고 사용해야 한다.
  • 사용하다보면 여러가지 예외 문제가 발생할 수 있다.

lombok에서 사용되는 주요 어노테이션

  • @Getter & @Setter : getter, setter 메소드 자동으로 생성한다.
  • @ToString : toString()메서드를 자동으로 생성한다.
  • @NoArgsConstructor : 파라미터가 없는 기본 생성자를 자동으로 생성한다.
  • @AllArgsConstructor : 모든 필드를 파라미터로 받는 생성자를 자동으로 생성한다.
  • @Builder : 복잡한 객체 생성 코드를 단순화하고 가독성을 높일 수 있다.
  • @Entity : JPA의 일부분으로, 클래스가 데이터베이스 테이블에 매핑됨을 나타낸다.
  • @Data : @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor을 자동 완성 가능하다.

참고자료

https://pig-programming.tistory.com/97

profile
백엔드 개발⭐

0개의 댓글