Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Apache Kafka
- docker
- deprecated
- kubernetes
- 스프링 프레임워크
- Spring
- kafka
- Spring Data MongoDB
- 스프링
- ORC
- Spring Framework
- design pattern
- Netty
- Spring WebFlux
- 디자인 패턴
- 추상화
- Reactive Streams
- Spring Data JPA
- Spring Data
- hive
- non blocking
- reactive
Archives
- Today
- Total
log.info
Spring Data 본문
(본 포스트는 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
더보기
- Spring Data Commons - 모든 Spring Data 모듈의 토대가 되는 핵심 Spring 컨셉
- Spring Data JPA - Spring Data repository support for JPA.
- Spring Data MongoDB
- Spring Data JDBC
- Spring Data JDBC Ext - Support for database specific extensions to standard JDBC including support for Oracle RAC fast connection failover, AQ JMS support and support for using advanced data types.
- Spring Data KeyValue - Map based repositories and SPIs to easily build a Spring Data module for key-value stores.
- Spring Data LDAP
- Spring Data Redis
- Spring Data REST - Exports Spring Data repositories as hypermedia-driven RESTful resources.
- Spring Data for Apache Cassandra - for Apache Cassandra. or large scale, highly available, data oriented Spring applications.
- Spring Data for Apache Geode - for Apache Geode. for highly consistent, low latency, data oriented Spring applications.
- Spring Data for Pivotal GemFire - for Pivotal GemFire. for your highly consistent, low latency/high through-put, data-oriented Spring applications.Community modulesModules in Incubation
Community Modules
더보기
- Spring Data Aerospike
- Spring Data ArangoDB
- Spring Data Cloud Datastore
- Spring Data DynamoDB
- .Spring Data Elasticsearch
- Spring Data Hazelcast
- Spring Data Jest
- Spring Data Neo4j
- Oracle NoSQL Database SDK for Spring Data - for Oracle NoSQL Database and Oracle NoSQL Cloud Service.
- Spring Data for Apache Solr - for Apache Solr (Search-Oriented Spring applications)
- Spring Data Vault - Vault repositories built on top of Spring Data KeyValue.
- Spring Data YugabyteDB - for YugabyteDB distributed SQL database.
- Spring Data Couchbase
- Spring Data Cloud Spanner
- Spring Data Couchbase
- Spring Data Azure Cosmos DB
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
@Id: 엔티티의 ID를 지정한다
@CreatedBy, @CreateDate, @LastModifiedBy, @LastModifiedDate: Auditing을 제공한다
Repository<T, ID> / CrudRepository<T, ID>
CrudRepository는 Repository를 상속하고 있고, 많이 사용되는 기본적인 메서드들이 선언되어 있다.
'Spring Framework' 카테고리의 다른 글
Spring Framework의 디자인 패턴들 (0) | 2021.09.14 |
---|