Java, IntelliJ/Spring
Java/intelliJ Lombok, DTO 사용법
고로케
2021. 6. 26. 14:25
반응형
Lombok(롬복)
: 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리입니다.
해당 부분
- 환경설정
- Windows: Ctrl + Alt + S
- macOS: command + ,
- 검색창에 "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. 실행 결과
반응형