Lombok
- 소스 간결화
- 도메인 클래스에 메소드를 반복적으로 작성하는 것을 편리하게 해줌
Lombok을 사용하는 이유
- 자바 파일을 컴파일할 때, 자동으로 생성자, Getter,Setter, toString() 같은 코드를 자동으로 추가 해준다.
또한 Getter/Setter/toString() 부분에 대한 소스도줄어들어 소스의 간결화를 도와준다.
Lombok을 사용 전의 코드
package com.rubypaper.chapter01.domain;
import java.util.Date;
public class BoardVO {
private int seq;
private String title;
private String writer;
private String content;
private Date createDate = new Date();
private int cnt = 0;
public int getSeq() {
return seq;
}
public void setSeq(int seq) {
this.seq = seq;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public int getCnt() {
return cnt;
}
public void setCnt(int cnt) {
this.cnt = cnt;
}
}
Lombok 사용후의 코드
package com.rubypaper.chapter01.domain;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.util.Date;
@Getter
@Setter
@ToString
public class BoardVO {
private int seq;
private String title;
private String writer;
private String content;
private Date createDate = new Date();
private int cnt = 0;
}
Lombok 기본적인 Annotation
어노테이션 | 기능 |
@Getter | Getter 메소드를 만들어준다 |
@Setter | Setter 메소드를 만들어준다 |
@RequiredArgsConstructor | 모든 멤버변수를 초기화하는 생성자를 만들어준다 |
@ToString | 모든 멤버 변수의 값을 문자열로 연결하여 리턴하는 toString() 메소드를 만들어준다. |
@EqualsAndHashCode | equals(),hashCode() 메소드를 만들어준다 |
@Data | @Getter/@Setter/@RequiredArgsConstructor/@ToString/@EqualsAndHashCode 모두를 포함한다. |
접근성 향상 / 개발자 비즈니스 로직에 집중 가능
반응형
'Spring' 카테고리의 다른 글
springboot JPA Annotation 정리 (0) | 2019.11.16 |
---|---|
Springboot 자동설정 및 의존성 관리 (0) | 2019.11.14 |
Springboot RestController 사용하기 (0) | 2019.11.11 |
Springboot 폴더구조 (0) | 2019.11.10 |
Springboot 프로젝트 생성방법 ( Intellij ) (0) | 2019.11.09 |