목록코드스테이츠 (39)
Develog

학습 목표 JDBC가 무엇인지 이해할 수 있다. Spring Data JDBC가 무엇인지 이해할 수 있다. Java에서 JDBC가 어떤 역할을 하는지 이해할 수 있다. Spring Data JDBC를 이용해서 데이터의 저장, 수정, 조회, 삭제 작업을 할 수 있다. Spring Data JDBC 기반의 엔티티 연관 관계를 매핑할 수 있다. JDBC란? JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 코드 레벨에서 사용하는 데이터를 데이터베이스에 저장 및 업데이트 하거나 반대로 데이터베이스에 저장된 데이터를 Java 코드 레벨에서 사용할 수 있도록 해주는 Java에서 제공하는 표준 API이다. JDBC는 Java 초창기(JDK 1.1) 버전부터 제공되는 데이터베이스..

학습 목표 서비스 계층에서 의도적으로 예외를 던지는 방법과 상황을 이해할 수 있다. 사용자 정의 예외(Custom Exception)를 만들 수 있다. 서비스 계층에서 던져진 예외를 API 계층에서 처리할 수 있다. 비즈니스적인 예외 던지기(throw) 및 예외 처리 체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception) 애플리케이션에서 발생하는 예외(Exception)는 크게 체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception)로 구분할 수 있다. 체크 예외는 말 그대로 발생한 예외를 잡아서(catch) 체크한 후에 해당 예외를 복구 하든가 아니면 회피 하든가 등의 어떤 구체적인 처리를 해야 하는 예외이다.(Ex. Cl..

학습 목표 API 계층과 서비스 계층에서 발생하는 예외를 처리할 수 있다. 예외 발생 시, 클라이언트에게 예외 메시지를 전달할 수 있다. @ExceptionHandler 애너테이션을 사용해서 예외를 처리할 수 있다. @RestControllerAdvice 애너테이션을 사용해서 예외를 처리할 수 있다. @ExceptionHandler를 이용한 예외 처리 Response Body의 내용만으로는 요청 데이터 중에서 어떤 항목이 유효성 검증에 실패했는지 알수가 없다. 나도 최근에 페어 프로그래밍을 진행했을 때 이와 비슷한 에러로 골머리를 앓은 기억이 난다. 그렇기에 이러한 문제를 해결하기 위해 클라이언트 쪽에서 에러메시지를 조금 더 구체적으로 알 수 있도록 바꾸는 작업이 필요할 것이다. @ExceptionHan..

학습 목표 DI(Dependency Injection)를 사용해서 API 계층과 서비스 계층을 연동할 수 있다. API 계층의 DTO 클래스와 서비스 계층의 엔티티(Entity) 클래스를 매핑할 수 있다. API 계층에서 전달받은 DTO 객체를 서비스 계층의 도메인 엔티티(Entity) 객체로 변환할 수 있다. 서비스 계층은 API 계층에서 전달 받은 클라이언트의 요청 데이터를 기반으로 실질적인 비즈니스 요구사항을 처리하는 계층이다. DI를 통한 서비스 계층 ↔ API 계층 연동 API 계층과 서비스 계층을 연동한다는 의미는 API 계층에서 구현한 Controller 클래스가 서비스 계층의 Service 클래스와 메서드 호출을 통해 상호 작용한다는 것을 의미한다. 여기서 Service란? 애플리케이션에 ..

DTO(Data Transfer Object) DTO가 무엇인지 이해할 수 있다 DTO Validation이 무엇인지 이해할 수 있다. Controller에 DTO 클래스를 적용할 수 있다. HTTP 요청/응답에서의 DTO(Data Transfer Object) DTO(Data Transfer Object)란? 데이터를 전송하기 위한 용도의 객체 정도로만 생각하자 DTO가 필요한 이유? DTO 클래스를 이용한 코드의 간결성 @RequestParam 애너테이션을 사용하면 정보가 많아질수록 코드가 길어질 수 밖에 없다. 하지만 DTO 클래스를 통해 요청 데이터를 하나의 객체로 전달 받는 역할을 해줄 수 있다. DTO 클래스를 사용하는 가장 중요한 목적은 비용이 많이 드는 작업인 HTTP 요청의 수를 줄이기 ..

Chapter - Spring MVC 아키텍처 학습목표 Spring MVC Spring MVC란 무엇인지 이해할 수 있다. Spring MVC의 동작방식과 구성요소를 이해할 수 있다. Spring MVC란? Spring의 모듈 중에는 웹 계층을 담당하는 몇가지 모듈이 있다. 특히 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데, 이 모듈을 spring-webmvc라고 한다. MVC를 줄여서 Spring MVC라고 부르고 있고, Spring MVC가 웹 프레임워크의 한 종류이기 때문에 Spring MVC 프레임워크라고도 부른다. 간단하게 정리하자면 Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크이다. 서블릿(Servlet)이란? 서블릿은 클라이언트..