본문 바로가기

Back-End173

JDBC(Java Database Connectivity) 기반 데이터 엑세스 계층 📁 JDBC란? Java 기반 애플리케이션에서 사용하는 데이터를 DB에 저장하거나, DB의 데이터를 Java 코드로 사용할 수 있도록 해 주는 Java에서 제공하는 표준 사양이다. JDBC API는 다양한 벤더(Oracle, MS SQL, MySQL 등)의 DB와 연동할 수 있다. 동작 흐름을 알면 Spring의 데이터 엑세스 기술 사용에 도움이 된다. (Spring Data JDBC, Spring Data JPA) 📁 동작 흐름 Java 애플리케이션 → JDBC API → JDBC 드라이버 → 데이터베이스 JDBC 드라이버 로딩: DB와 통신을 담당하는 인터페이스로, 다양한 벤더에서 이를 제공하면 드라이버의 구현체를 이용하여 특정 벤더의 DB에 엑세스 할 수 있다. DriverManager 클래스를 통.. 2022. 8. 26.
비즈니스 예외 던지기 및 예외 처리 보호되어 있는 글 입니다. 2022. 8. 24.
Spring MVC 패턴의 예외 처리 | @ExceptionHandeler, @RestControllerAdvice 보호되어 있는 글 입니다. 2022. 8. 24.
서비스 계층에서의 DI DI를 통한 서비스 계층과 API 계층의 연동 API 계층에서 구현한 Controller 클래스와 서비스 계층의 Service 클래스의 상호작용 Service: 도메인 업무 영역을 구현하는 비즈니스 로직과 관련을 가진다. 도메인 모델: 빈약한 도메인 모델과 풍부한 도메인 모델로 구분하며 DDD(도메인 주도 설계)와 관련이 깊다. 매퍼를 이용한 DTO 클래스와 엔티티 클래스 매핑 📄 Member 도메인 엔티티 DTO의 역할: 클라이언트의 요청 데이터 ↔ Controller의 핸들러 메서드 (@ReqeustBody) Member 클래스의 역할: API 계층 ↔ 서비스 계층 @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class Member {.. 2022. 8. 23.
DTO(Data Transfer Object) HTTP 요청/응답에서의 DTO Data Transfer Object 마틴 파울러(Martin Fowler)가 ‘Patterns of Enterprise Application Architecture’라는 책에서 처음 소개한 엔터프라이즈 애플리케이션 아키텍처 패턴의 하나이다. 주로 클라이언트와 서버 사이에서 데이터를 주고받을 때 사용한다. 클라이언트의 Request Body를 하나의 객체로 전달받을 수 있기 때문에 코드가 간결해지며, Request Body의 데이터 유효성 검증이 단순해진다. 중요한 목적은 비용이 많이 드는 작업인 HTTP 요청의 수를 줄이고, 도메인 객체와 분리하기 위함이다. 🍑 코드의 간결성 @RestController @RequestMapping("/v1/members") public.. 2022. 8. 22.
AOP(Aspect-Oriented Programming) : JoinPoint 보호되어 있는 글 입니다. 2022. 8. 16.