log.info

Spring Data 본문

Spring Framework

Spring Data

log.info 2021. 9. 14. 00:33

(본 포스트는 Spring Data의 공식 문서의 Overview를 번역한 것입니다)


Spring Data란?

Spring Data는 기본 데이터 저장소의 특수 특성을 유지하면서 데이터 액세스를 위한 친숙하고 일관된 Spring 기반 프로그래밍 모델을 제공합니다.

간단히 말해, 다양한 데이터 접근을 위한 추상화와 공통 기능들을 제공합니다.

 

이를 통해 데이터 접근 기술들, Relational DB, Non-Relational DB, Map-Reduce 프레임워크, Cloud기반 데이터 서비스의 사용을 쉽게 합니다. 

 

Features

  • 강력한 Repository와 커스텀 Object-Mapping 추상화들
  • Repository의 method 이름을 통해 동적으로 생성되는 쿼리 - Query Method
  • Implementation domain base classes providing basic properties
  • Support for transparent auditing (created, last changed)
  • Possibility to integrate custom repository code
  • JavaConfig와 custom XML namespaces을 통한 간편한 Spring integration
  • Advanced integration with Spring MVC controllers
  • Experimental support for cross-store persistence

Spring Data 하위 프로젝트

Spring Data는 특정 데이터베이스를 위한 많은 하위 프로젝트를 가지고 있는 Umbrella Project입니다.

 

Main modules

더보기

Community Modules 

Related modules

더보기
  • Spring Data JDBC Extensions - Provides extensions to the JDBC support provided in the Spring Framework.
  • Spring for Apache Hadoop - Simplifies Apache Hadoop by providing a unified configuration model and easy to use APIs for using HDFS, MapReduce, Pig, and Hive.
  • Spring Content - Associate content with your Spring Data Entities and store it in a number of different stores including the File-system, S3, Database or Mongo’s GridFS.

Modules in Incubation


Spring Data Commons

Spring Data Commons는 다른 Spring Data 하위 모듈들의 기본이 됩니다.

 

Spring Data Commons만 따로 쓰는 경우는 아직 보지 못했고, 보통은 Spring Data JPA, Spring Data MongoDB, Spring Data Redis 등을 사용하면서 이들이 의존성을 가지고 있는 Spring Data Commons를 사용하게 됩니다.

 

Annotations

Spring Data Commons의 Annotations

@Id: 엔티티의 ID를 지정한다

@CreatedBy, @CreateDate, @LastModifiedBy, @LastModifiedDate: Auditing을 제공한다

 

Repository<T, ID> / CrudRepository<T, ID>

CrudRepository는 Repository를 상속하고 있고, 많이 사용되는 기본적인 메서드들이 선언되어 있다.

 

 

'Spring Framework' 카테고리의 다른 글

Spring Framework의 디자인 패턴들  (0) 2021.09.14