Java/Spring - Lombok,DTO

Drumj·2022년 5월 25일
0

Java/Spring

목록 보기
4/4

Lombok

앞에 강의를 다 따라오고 나서 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멤버변수 등 다 사용할 수 있다;;


DTO

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 걱정하지 않고 데이터를 여기저기 싣고 다닐 수 있다고 한다.

0개의 댓글