1. LOMBOK
이 편한 기능을 나는 왜 여태 모르고 있었을까..
새삼 프레임워크의 소중함이 느껴지는 기능이었다.
IntelliJ 상에서는 프로젝트를 처음 생성할 때 추가하는 라이브러리이므로 별도의 설치는 요구되지 않는다.
그래서 그게 뭔데?
코드를 보자
package com.sparta.week02.domain;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@RequiredArgsConstructor
public class CourseRequestDto {
private final String title;
private final String tutor;
}
경이롭지 않은가?
롬복을 알기 전 까지의 나는 이클립스 상에서는 Alt + Shift + S를 눌러서 Getter / Setter를 생성해줬다.
마찬가지로 IntelliJ 상에서는 Alt + Insert 단축키 정도...
하지만 롬복을 활성화시킨다면 그마저도 필요없다.
진즉에 설명을 했어야 했는데 저 '@' 표시를 자바에서는 Annotation이라고 하더라
-ano를 호출하고 Getter / Setter를 차례로 생성하면 별도의 호출 과정이 필요하지 않다.
물론 private 접근제한자는 있어야 핢..
즉! 롬복을 사용하면 자주 쓰는 메소드나 생성자를 자동으로 생성 해줌으로서 코드를 비약적으로 절약할 수 있다.
여간 짜세가 아니다 따흐흙..!
자꾸 이렇게 글을 늘어뜨리는 이유는 이 좋은 기능을 여태 모르고 있던 내 자신이 한심해서이다..
2. DTO (Data Transfer Object)
사실 바로 전에 올린 코드가 *.DTO.java 클래스이다.. 헤헤
데이터의 완충 작용!
만약에, 만약에 말이다..
건드리면 안되는 DB Table 데이터를 공동작업 중에 변경이 되면 어떻게 될까?
신상 정보나 결제 내역같은 민감한 내용을 private으로 접근제한을 두는 이유는 뻔하지 않는가?
그걸 건드리면 너 죽고 나 죽자는거다..
하지만 가장 좋은 건 사전에 그런 더러운 꼴을 보지 않도록 사전에 조치를 취하는 것이다.
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());
}
courseRepository.deleteAll();
};

'[SPRING_입문] > 개발일지' 카테고리의 다른 글
[2주차] 개발일지 (2-9) API: GET / POST / PUT / DELETE (前) (0) | 2022.06.17 |
---|---|
[2주차] 개발일지 (2-8) API (0) | 2022.06.17 |
[2주차] 개발일지 (2-6) JPA 심화과정 (0) | 2022.06.16 |
[2주차] 개발일지 (2-5) 생성일자, 수정일자 (0) | 2022.06.16 |
[2주차] 개발일지 (2-4) JPA Application (0) | 2022.06.16 |