본문 바로가기
Spring

[spring] Lombok 이란?

by codeok 2020. 9. 10.
반응형

현재 학습 기록용으로 블로그를 작성하고 있습니다.

부족한 내용이 있거나 맞지 않은 내용이 있으면 댓글 부탁드립니다!

TODO 

  1. Lombok 
    1. Lombok Install
  2. Lombok을 사용 전
  3. Lombok을 사용 후 

1. Lombok

Spring을 하면서 반복적인 Getter, Setter 생성을 직접적으로 하지 않게 도와주는 라이브러리는 lombok입니다.

물론 lombok은 Getter, Setter를 생성해주는 것 이외에도 toString 등등 여러 가지가 가능합니다.

하단의 링크를 들어가보시면 Lombok @Data @Getter @Setter @ToString 등의 사용 예제가 나옵니다. 

 

Stable

 

projectlombok.org

즉, Lombok은 DTO, VO 등에서 반복적으로 사용되는 코드들을 @ 어노테이션을 통해서 작성을 쉽고, 수정이 간편하게 도와주는 라이브러리입니다.

 

1.1 Lombok Install

pom.xml 에서 <dependencies></dependencies> 사이에 아래 코드를 추가합니다.

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.16.8</version>
	<scope>provided</scope>
</dependency>

추가를 하고 사용을 해보겠습니다.

2. Lombok을 사용 전

아래와 같이 Getter, Setter의 코드들만 있는데도 엄청 많아 보입니다.

이클립스에서 Lombok을 사용하지 않고 Getter, Setter 만들고 싶은 변수들을 드래그하고 단축키 ctrl + alt + s 해서 Getter, Setter, toString을 생성해도 무방하지만, 그러한 반복적인 작업을 Lombok이 처리해줍니다.

package com.spring.board.vo;

import lombok.Data;

public class BoardVO {
	private int brd_no;
	private String brd_title;
	private String brd_writer;
	private String brd_memo;
	private String brd_date;
	public int getBrd_no() {
		return brd_no;
	}
	public void setBrd_no(int brd_no) {
		this.brd_no = brd_no;
	}
	public String getBrd_title() {
		return brd_title;
	}
	public void setBrd_title(String brd_title) {
		this.brd_title = brd_title;
	}
	public String getBrd_writer() {
		return brd_writer;
	}
	public void setBrd_writer(String brd_writer) {
		this.brd_writer = brd_writer;
	}
	public String getBrd_memo() {
		return brd_memo;
	}
	public void setBrd_memo(String brd_memo) {
		this.brd_memo = brd_memo;
	}
	public String getBrd_date() {
		return brd_date;
	}
	public void setBrd_date(String brd_date) {
		this.brd_date = brd_date;
	}
	
}

3. Lombok을 사용 후

package com.spring.board.vo;

import lombok.Data;

@Data
public class BoardVO {
	private int brd_no;
	private String brd_title;
	private String brd_writer;
	private String brd_memo;
	private String brd_date;
	
}

@Data 어노테이션만 사용을 해줘도 아래의 사진에 다음과 같이 Getter, Setter, equals, hasCode, toString이 추가가 된 것을 볼 수 있습니다.

 

반응형