초보개발자 긍.응.성
Spring Data란? 본문
What is Spring Data
Spring Data는 기본 데이터 저장소(DB)에 대한 특성은 유지하며, 데이터 액세스 방법에 대하여 친숙하고 익숙한 접근 방법을 제시하는 목적을 가진 Spring 기반 프로그래밍 모델입니다.
Spring Data를 이용하면 데이터 액세스 기술, 관계형/비관계형 데이터베이스, map-reduce 프레임워크, cloud기반 데이터 서비스를 쉽게 적용할 수 있습니다. Sping Data는 각각의 데이터베이스에 대해 만들어진 특정한 하위 프로젝트를 포함하는 *umbrella project 입니다. 그렇기에 이 프로젝트는 다양한 회사들과 개발자와 함께 개발되고 있습니다.
> Umbrella Project 란?
Umbrella project는 (i) 명시된 표준을 준수하는 base repository 및 (ii) 표준을 준수하는 여러 "하위 프로젝트"로 구성된 프로젝트입니다.
An umbrella project is a project that consists of (i) a base repository containing a specified standard, and (ii) a number of "subprojects" that conform to the standard
Spring Data의 특징
어떤 종류의 데이터 저장소라도 Dao에서 하나의 도메인 오브젝트, find 메서드, 정렬 및 페이징에 대한 CRUD(Create-Read-Update-Delete) 동작이 필요합니다. Spring Data는 Repository라는 제네릭한 인터페이스를 제공하여 공통된 연산에 implementation을 동적으로 제공합니다.
각 데이터 저장소는 Spring Data의 Repository를 구현하여 자신의 데이터 저장소에 맞는 repository를 제공합니다. 예를 들어 JpaRepository, MongoRepository 등이 존재합니다. 클라이언트는 자신이 사용하려는 repository를 상속하여 각 저장소에서 정의한 naming convention에 맞게 메서드만 선언하기만 하면 Spring Data가 Runtime시 이름에 맞는 적절한 구현 내용을 제공합니다.
※ 참고자료
'Spring' 카테고리의 다른 글
WebFlux에서 MDC 사용하기 – SpringBoot 3 버전 (1) | 2024.06.16 |
---|---|
WebFlux에서 MDC 사용하기 - SpringBoot 2 버전 (1) | 2024.06.16 |
(Spring Batch) 메타 데이터 테이블 (0) | 2021.12.30 |