lombok 이란?
lombok은 Java 라이브러리로, 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 라이브러리이다.
lombok 설치 및 세팅
우선 maven에서 다운로드 한다.
그리고 설치를 해준다.
maven에서 다운받은 lombok 폴더를 연다.
이 폴더 안에서 우클릭을 하고 Git Bash Here를 누른다.
$ java -jar lombok-해당버전.jar 명령어를 치고 엔터키를 누르면
위 캡쳐화면과 같이 installer가 뜬다.
사용하고 있는 STS4.exe 파일을 설정해준다.
이제 설치가 완료되었으니 사용해보자
lombok 을 이용한 코드 작성
※ 코드를 작성하기 전에 스프링 툴을 종료하고 다시 시작한 다음 코드를 작성해야한다!
작성했었던 기존 Member.java 코드
package com.cos.blog.test;
public class Member {
private int id;
private String username;
private String password;
private String email;
public Member(int id, String username, String password, String email) {
this.id = id;
this.username = username;
this.password = password;
this.email = email;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
lombok을 사용한 Member.java 코드
package com.cos.blog.test;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//import lombok.Getter;
//import lombok.Setter;
//@Getter
//@Setter
@Data // Getter와 Setter를 동시에 만든다.
@AllArgsConstructor // 생성자를 만든다.
@NoArgsConstructor // 빈 생성자
public class Member {
// 여기다 private를 사용하는 이유는 바로 직접적으로 접근하는 것을 막기 위함이다.
// 바로 접근해서 수정해버리는 것은 객체지향이랑 맞지 않는다.
// 함수를 통해서 이 값들에 접근하게된다.
private int id;
private String username;
private String password;
private String email;
}
lombok 테스트
HttpControllerTest.java 파일에 다음과 같은 코드를 추가한 다음,
실행결과 :
lombok이 제대로 적용된 것을 확인할 수 있다.
lombok 을 이용한 코드 작성2
우선 @AllArgsConstructor 을 지우고 생성자를 직접 만들어보면,
만약 이렇게 id를 삭제해버릴 경우에는
이렇게 이게 오버로딩이 되어있어야 한다.
하지만 build패턴을 사용하면 이렇게 하지 않고 객체를 만들 수 있다.
실행결과 :
성공적으로 실행된다.
참고자료 : https://youtu.be/U3Bq4C-NEDU
'자바 스프링 > 부트 블로그 JPA 프로젝트' 카테고리의 다른 글
#9 JPA와 DB테이블 생성(User, Board, Reply) (0) | 2022.05.05 |
---|---|
#8 스프링 부트의 yml과 jsp파일 리턴 (0) | 2022.05.04 |
#6 http요청 개념 및 실습 (0) | 2022.05.02 |
#5 Git 연동하기 (0) | 2022.05.02 |
#4 MySQL 환경세팅과 스프링 연결하기 (0) | 2022.04.30 |