Spring/Spring Boot
[Spring] 06. Lombok - getter, Setter, 기본타입 생성자 코드 중복 없애기
민돌v
2021. 11. 11. 16:16
Lombok
Lombok(롬복)이란, 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/ 생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리이다.
ex) getter, setter
설치
1. 환경설정
- Windows: Ctrl + Alt + S
- macOS: command + ,
2. 검색창에 "Annotation Processors" 입력 후, dncmr " Enable ~" 체크하고 ok
3. Shift 두 번 누르고 plugins 입력 후 엔터
4. lombok 입력 후 아래처럼 생긴 아이콘의 우측 install 후 인텔리제이 재시작
5. 다시 Shift 두 번 누르고 plugins 입력 후 엔터
6. lombok 검색했을 때 installed 상태라면 설치 완료
- 인텔리제이 프로젝트 세팅 시 설치했으면, installed에 위치
사용
- Lecture.java
- Lecture 클래스 Getter, NoArgsConstructor 적용
- LectureService.java
- LectureService 클래스 RequiredArgsConstructor 적용
ex) Lecture.class
@ 어노테이션으로 불필요한 코드 정의
ex)
Getter, Setter - 코드를 작성하지 않아도, get, ,set 함수 사용 가능
NoArgsConstructor - 매개변수가 없는 기본 생성자를 정의
RequiredArgsConstructor - 모든 멤버변수를 초기화하는 생성자를 정의
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
@NoArgsConstructor //매개변수가 없는 생성자 코드 삭제(자동 생성)
@Getter
@Setter
@Entity // 테이블임을 나타냅니다.
public class Lecture extends Timestamped{
// public Lecture() {}
@Id // ID 값, Primary Key로 사용하겠다는 뜻입니다.
@GeneratedValue(strategy = GenerationType.AUTO) // 자동 증가 명령입니다.
private Long id;
@Column(nullable = false) // 컬럼 값이고 반드시 값이 존재해야 함을 나타냅니다.
private String title;
@Column(nullable = false)
private String tutor;
public Lecture(LectureRequestDto requestDto) {
this.title = requestDto.getTitle();
this.tutor = requestDto.getTutor();
}
public Lecture(String title, String tutor) {
this.title = title;
this.tutor = tutor;
}
public void update(LectureRequestDto requestDto) {
this.title = requestDto.getTitle();
this.tutor = requestDto.getTutor();
}
}