앞에 강의를 다 따라오고 나서 Lombok을 봤더니... 신세계가 아닐 수 없다.
롬복은 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리라고 한다.
우선 코드를 한 번 살펴보자
@Getter
@Setter
@RequiredArgsConstructor
public class CourseRequestDto {
private final String title;
private final String tutor;
}
CourseRequestDto 클래스에서 작성한 코드이다.
class 안에 Getter 와 Setter 코드를 작성하고, 생성자 코드도 작성해야 했지만...
위에 보이는가???
@Getter
@Setter
@RequiredArgsConstructor
이 딸랑 3줄로 귀찮은 Getter/Setter, Constructor 까지 다 작성한것이다;;;
우리 눈에는 안보이지만 자바는 다 알아듣고 다른 코드에서
get멤버변수/set멤버변수 등 다 사용할 수 있다;;
Date Transfer Object
데이터를 업데이트 할 때처럼 데이터를 싣고 다니는 경우에 사용한다고 한다.
Course new_course = new Course("웹개발의 봄, Spring", "임민영");
courseService.update(1L, new_course);
courseList = courseRepository.findAll();
for (int i=0; i<courseList.size(); i++) {
Course course = courseList.get(i);
System.out.println(course.getId());
System.out.println(course.getTitle());
System.out.println(course.getTutor());
}
이 전 글에서 작성했던 Update 부분 코드이다. 여기서는 Course클래스를 사용하기 때문에 데이터가 손실되거나 내가 원하지 않게 변경될 수도 있기 때문에 데이터를 싣고 다닐때는 dto를 사용해주는 것이 좋다고 한다.
CourseRequestDto requestDto = new CourseRequestDto("웹개발의 봄, Spring", "임민영");
courseService.update(1L, requestDto);
courseList = courseRepository.findAll();
for (int i=0; i<courseList.size(); i++) {
Course course = courseList.get(i);
System.out.println(course.getId());
System.out.println(course.getTitle());
System.out.println(course.getTutor());
}
Dto를 사용한 코드이다. CourseRequestDto 클래스를 만들고 requestDto 안에 데이터를 넣고 코드를 진행시키는 것이다. 이렇게 하면 Course 클래스가 아닌 dto 클래스를 사용하기 때문에
DB 걱정하지 않고 데이터를 여기저기 싣고 다닐 수 있다고 한다.