Lombok
- 코드를 절약하기 위한 녀석
- 특히 자바 코드는 반복적으로 쓰는 부분(getter,setter, 생성자)이 있는데, 이 부분을 자동생성 되게 도와주는 라이브러리이다.
- 설치하고 사용해야 한다.
- 하지만 프로젝트 시작할 때 이미 설치했음
- 추가 설치해야할 부분은 Lombok을 더 스무스하게 사용하기 위해 하는 것.
1) 인텔리제이에서 cmd + , 을 눌러서 preferences > Annotation Processors > Enable annotaion processing(@이들 작성 쉽게 나한테 지원 좀 해줘)
2) shift*2 눌러서 Actions > Plugins > Marketplace > Lombok 검색 > 찾아도 안뜨길래 뭐여 했는데 인텔리젱 2020.03 버전 이후엔 기본으로 설치되어있다고 한다. 시간만 날렸네!!!
3) Course, CourseRepo 클래스를 lombok으로 줄여보자!
Getter 줄여보기:
우리는 멤버 변수를 통해 항상 getter를 생성해주는데, getter를 Lombok으로 줄여보자
1. Course.java에서 getter 지워주기
2. 그럼 Week02Application.java에서 getID, getTitle, getTutor 다 빨간줄!
3. Course.java 위로 올라가 import 아래에 엔터치고
@Getter 하고 enter치고 Week02로 돌아가보면 빨간줄 사라진 걸 볼 수 있다. = Getter 코드 작성해주지 않아도 annotation을 통해 lombok이 자동으로 생성해 준 것이다!
DTO
: Data Transfer Object
- 데이터를 전달하고 주고받을 때는 기존에 있는 클래스는 사용하지말고 새로 클래스를 만들어서 하자!
- 만약 우리가 기존 클래스를 계속 사용하다보면, 그것도 DB와 연결된 클래스라면 나말고 다른 사람이 고치거나 혹은 내가 고치다가 오류가 나면 큰일이 생기기 때문!
DTO 클래스 생성!
- domain > CourseRequestDto 만들기
- 이 녀석은 Course에 관한 데이터를 몰고 다니는 녀석이다. 그래서 멤버가 두개가 있어야 한다.
왜냐하면 Course가 두개를 가지고 있으니까.
1) private String title; / private String title;
2) @Getter: 몰고 다닐 정보를 얻기
3) @Setter: 몰고 다닐 정보를 설정
와...갑자기 엄청 어려워진다......뭐가 뭔지 모르겠네!!! 스프링 기초 2-8강 강의 내용