반응형
현재 학습 기록용으로 블로그를 작성하고 있습니다.
부족한 내용이 있거나 맞지 않은 내용이 있으면 댓글 부탁드립니다!
TODO
- Lombok
- Lombok Install
- Lombok을 사용 전
- 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이 추가가 된 것을 볼 수 있습니다.
반응형
'Spring' 카테고리의 다른 글
Spring Boot jsp 사용 (0) | 2024.03.17 |
---|---|
nGrinder & Spring Boot API 성능 테스트 (0) | 2023.03.05 |
nGrinder 성능 테스트 플랫폼 설치 (0) | 2023.03.05 |
[Spring][Mybatis][Logger] Spring Log4j를 이용해서 인터셉터로 로그 남기기 & MyBatis 쿼리 로그 출력 및 정렬 (0) | 2020.09.21 |
[jsp][servlet] Forward VS Redirect(차이점) (0) | 2020.09.03 |