Lombok
롬복 라이브러리를 이용하면 getter, setter, builder, constructor를 작성하는데 시간을 소모할 필요가 없다.
롬복이 제공하는 어노테이션 프로세스가 자동으로 작성해 준다.
1. Lombok 설치 방법
1-1) https://mvnrepository.com/ 사이트에서 Lombok 다운
- 원하는 버전을 다운로드한다.
1-2) Lombok 설치 방법
( 파일 이동 )
- 다운로드한 lombok.jar 파일을 이클립스가 있는 곳으로 이동시킨다.
( Lombok Install )
cmd 터미널 또는 powershell를 켜서 jar 파일이 다운로드 된 디렉터리로 이동 후 롬복 해당 명령어를 통해 설치한다.
java -jar lombok-1.18.6.jar
- 이클립스가 자동으로 잡힌다면 Install 받고, IDEs를 찾지 못한다면 Specify locaion을 선택하여 Eclipse.exe파일을 선택한 후 Install 받는다.
- 설치가 완료되면 이클립스를 재시작한다.
2. 어노테이션( Annotation ) 프로세서 설정
이클립스가 어노테이션을 이해할 수 있게 설정해줘야 한다.
- 프로젝트 우클릭 → Properties 클릭 → 아래 사진처럼 설정 클릭
3. 롬복(Lombok)의 어노테이션( Annotation ) 사용 방법
3-1) 어노테이션을 사용한 Entity파일 생성
( Entity 파일 )
@Builder // 오브젝트 생성을 위한 디자인 패턴
@NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
publick class TodoEntity{
private String id; // 오브젝트의 아이디
private String userId; // 오브젝트를 생성한 사용자의 아이디
private String title; // Todo 타이틀(예: 운동하기)
private boolean done;
}
- @Builder : Builder 패턴을 사용하는 것은 생성자를 이용해 오브젝트를 생성하는 것과 비슷하다.
장점이 있다면 생성자 매개변수의 순서를 기억할 필요가 없다는 점이다. - @NoArgsConstructor : 매개변수 없는 생성자를 구현해준다. 아래와 같이 생성자를 구현하는 것과 같다.
/* @NoArgsConstructor 아래 생성자와 같음 */
public TodoEntity(){ ... }
- @AllArgsConstructor : 클래스의 모든 멤버 변수를 매개변수로 받는 생성자를 구현해준다. 아래와 같다
/* @AllArgsConstructor는 아래 생성자와 같음 */
public TodoEntity(String id, String userId, String title, boolean done){
super()
this.id=id;
this.userUd = userId;
this.title = title;
this.done = tone;
}
- @DATA : 클래스 멤버 변수의 Getter/Setter 메서드를 구현해준다.
/* @DATA는 아래 getter, setter와 같음 */
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
...
public boolean isDone(){
return done;
}
public void setDone(boolean done){
this.done=done;
}
3-2) Entity Object 생성
// Builder 메서드 사용법
TodlEntity todo = TodEntity.builder()
.id("t-10328373")
.userId("developer")
.title("Implement Model")
.build();
todo.getId
todo.setId("t-123")
- Builder 패턴을 사용하여 Object 생성
- 자동으로 변수 id가 getId, setId로 getter, setter가 구현된다.
반응형
'Java' 카테고리의 다른 글
JWT(JSON Web Token) 개념 및 구조 (0) | 2022.10.24 |
---|---|
[Spring Boot] Rest API 개념 및 작성 방법 (0) | 2022.10.10 |
[Spring Boot] REST API 구현(2) DTO, Service, Controller 개념 및 작성 방법 (0) | 2022.10.09 |
[Spring Boot] REST API 구현(1) JPA Entity, Repository 개념 및 작성 방법 (1) | 2022.10.08 |
[Spring Boot] Spring Initializr 스프링 부트 프로젝트 생성 방법(이클립스) (0) | 2022.10.06 |