프레임워크/Spring, Spring Boot
[메타코딩] 스프링부트 강좌 16강(블로그 프로젝트) - lombok세팅 및 사용해보기
고용인
2022. 7. 25. 18:01
롬복 설치 과정은 아래 강의를 참조하겠습니다.
@Getter
@Setter
public class Member {
private int id;
private String username;
private String password;
private String email;
}
@Data
public class Member {
private int id;
private String username;
private String password;
private String email;
}
위 두개의 내용은 서로 같은 내용입니다.
@Getter, @Setter를 두개 다 쓰고 싶다면 @Data라는 어노테이션을 쓰면 됩니다.
@NoArgsConstructor : 빈 생성자를 추가하는 어노테이션입니다.
@AllArgsConstructor : 전체 생성자를 추가하는 어노테이션입니다.
@RequiredArgsConstructor : final이 붙은 변수에 대해 생성자를 추가하는 어노테이션입니다.
package com.cos.blog.test;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Member {
private int id;
private String username;
private String password;
private String email;
}
@Builder : 해당 어노테이션 선언시 객체를 선언할때 아래와 같은 방식으로 선언하여 사용 할 수 있습니다.
- builder의 장점
1. 생성자의 순서를 지키지 않아도 됩니다.
2. 필드의 값이 무엇이었는지 생각하지 않아도 됩니다.
Member m = Member.builder().username("ssar").password("1234").email("ssar@nate.com").build();
package com.cos.blog.test;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class Member {
private int id;
private String username;
private String password;
private String email;
@Builder
public Member(int id, String username, String password, String email) {
this.id = id;
this.username = username;
this.password = password;
this.email = email;
}
}
@GetMapping("/http/lombok")
public String lombokTest() {
Member m = Member.builder().username("ssar").password("1234").email("ssar@nate.com").build();
System.out.println(TAG+"getter:"+m.getUsername());
m.setUsername("cos");
System.out.println(TAG+"setter:"+m.getUsername());
return "lombok test 완료";
}
HttpController : getter:ssar
HttpController : setter:cos
강의 주소 : https://youtu.be/U3Bq4C-NEDU