본문 바로가기

Spring

길벗 코딩 자율 학습단 2주차

롬북(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