롬북(Lombok) : 코드를 간소화해 주는 라이브러리
로깅(logging) : 프로그램의 수행 과정을 기록으로 남기는 것
리팩터링(refactoring) : 코드의 기능에는 변함이 없이 코드의 구조 또는 성능을 개선하는 작업
@AllArgsConstructor : 클래스 안쪽의 모든 필드를 매개변수로 하는 생성자 자동 생성
@NoArgsConstructor : 기본 생성자를 추가해주는 어노테이션
@ToString : toString()메서드 자동 생성
@Slf4j (Simple Logging Facade for Java) : 로깅기능
- println() 문으로 데이터 검증 시 서버의 성능 악영향 && 나중에 확인 불가
- log.info() 문으로 로깅을 찍을 수 있음
@PathVariable : URL 요청으로 들어온 전달값을 컨트롤러의 매개변수로 가져오는 어노테이션
@findById() : JPA의 CrudRepository가 제공하는 메서드, 특정 엔티티의 id값을 기준으로 데이터를 찾아 Optional타입으로 반환
Article articleEntity = articleRepository.findById(id); //Optional<Article> 반환하므로 에러 발생
//1.
Optional<Article> articleEntity = articleRepository.findById(id);
//2.
Article articleEntity = articleRepository.findById(id).orElse(null); //존재하지 않을 때 null 처리
@findAll() : 해당 레포지토리에 있는 모든 데이터를 가져오는 메서드
List<Article> articleEntityList = articleRepository.findAll(); //findAll()은 Iterable 타입 반환 -> 에러 발생
// 1. Iterable을 List로 다운 캐스팅
List<Article> arrayEntityList = (List<Article>) articleRepository.findAll();
// 2. List를 Iterable로 업캐스팅
Iterable<Article> articleEntityList = articleRepository.findAll();
// 3. arrayList 로 반환 형식 수정
ArrayList<Article> articleEntityList = articleRepository.findALl();
//articleRepository도 이 경우 수정 필요
ArrayList<Article> findAll();
캐스팅(형변환) : 데이터 타입을 변환하는 것
- 업 캐스팅(upcasting) : 넓은 범위로 해석하는 것
- 다운 캐스팅(downcastring) : 좁은 범위로 해석하는 것
오버라이딩(overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 것
롬북 설치 - build.gradle
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
+) 책에는 버전없이 lombok까지만 적혀있는데 이렇게 하니까 에러가 난다.. 그래서 뒤에 버전을 추가해주었다.
링크(link) : 미리 정해 놓은 요청을 간편히 전송하는 기능 - 보통 페이지 이동을 위해 사용
리다이렉트(redirect) : 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시
return "redirect:URL_주소";
여기서 url주소는 컨트롤러에서 url 매핑하는 주소 - 뷰 템플릿 구조랑 헷갈리지 말기
출처
https://www.yes24.com/Product/Goods/119952151
코딩 자율학습 스프링 부트 3 자바 백엔드 개발 입문 - 예스24
스프링 부트 백엔드 개발,실습 문턱을 낮추고 자신 있게 시작하자!스프링 부트를 처음 접하는 입문자와 이미 공부했지만 부족하다고 느끼는 분들을 위한 책입니다. 게시판을 만들며 클라이언트
www.yes24.com
'Spring' 카테고리의 다른 글
기본 생성자 (0) | 2025.04.16 |
---|---|
연관관계 매핑(2) (1) | 2025.04.13 |
길벗 코딩 자율 학습단 1주차 (0) | 2025.04.05 |
연관관계 매핑(1) (0) | 2025.04.05 |
내 첫 스프링 CRUD 만들기 (0) | 2025.04.04 |