Java, IntelliJ/Spring

Java/intelliJ Lombok, DTO 사용법

고로케 2021. 6. 26.
반응형

Lombok(롬복)

: 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리입니다.

 

해당 부분

 

  1. 환경설정
    • Windows: Ctrl + Alt + S
    • macOS: command + ,
  2. 검색창에 "Annotation Processors" 입력 후, 우측 "Enable ~" 체크하고 OK 클릭

 

3. getter() 메소드 다 지우고 필요한 클래스 위에 @getter 입력

@Getter

 

4. CourseService 클래스 멤버변수 선언부 제거한 뒤 아래 코드 추가

@RequiredArgsConstructor

 

DTO(Data Transfer Object)

:  데이터 요청 관련 정보를 몰고 다니는 녀석

 

1. domain 에 CourseRequestDto 클래스생성

2. CourseRequestDto 클래스 위에 @RequiredArgsConstructor / @Getter / @Setter

 

 

3. CourseService.java 클래스의 update해당 부분 아래와 같이 수정

    @Transactional // SQL 쿼리가 일어나야 함을 스프링에게 알려줌
    public Long update(Long id, CourseRequestDto requestDto) {
        Course course1 = courseRepository.findById(id).orElseThrow(
                () -> new IllegalArgumentException("해당 아이디가 존재하지 않습니다.")
        );
        course1.update(requestDto);
        return course1.getId();
    }

 

4. Course 클래스의 update 부분 수정

    public void update(CourseRequestDto requestDto) {
        this.title = requestDto.getTitle();
        this.tutor = requestDto.getTutor();
    }

 

5. Application 파일의 해당 부분 수정

  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());
}

 

6. 실행 결과

 

 

 

 

 

반응형

댓글