롬복 설치 과정은 아래 강의를 참조하겠습니다.
@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
'프레임워크 > Spring, Spring Boot' 카테고리의 다른 글
[메타코딩] 스프링부트 강좌 18강(블로그 프로젝트) - User테이블 생성 (1) | 2022.07.26 |
---|---|
[메타코딩] 스프링부트 강좌 17강(블로그 프로젝트) - yml설정하기 (1) | 2022.07.26 |
[메타코딩] 스프링부트 강좌 15강(블로그 프로젝트) - maven이란 (1) | 2022.07.25 |
[메타코딩] 스프링부트 강좌 14강(블로그 프로젝트) - http요청 실습2 (1) | 2022.07.25 |
[메타코딩] 스프링부트 강좌 13강(블로그 프로젝트) - http요청 실습1 (1) | 2022.07.25 |