Spring Data 프로젝트의 주요 목표는 비관계형 데이터베이스, 맵 축소 프레임워크 및 클라우드 기반 데이터 서비스와 같은 새로운 데이터 액세스 기술을 사용하는 Spring 기반 애플리케이션을 더 쉽게 구축하는 것입니다.
Spring Data MongoDB 프로젝트는 저장소별 기능을 유지하면서 새로운 데이터 저장소에 익숙하고 일관된 Spring 기반 프로그래밍 모델을 제공하는 것을 목표로 합니다. Spring Data MongoDB 프로젝트는 MongoDB 문서 데이터베이스와의 통합을 제공합니다. Spring Data MongoDB의 주요 기능 영역은 MongoDB Document
와 상호 작용하고 저장소 스타일 데이터 액세스 계층을 쉽게 작성하기 위한 POJO 중심 모델입니다.
이 프로젝트는 Spring Code of Conduct를 따릅니다. 참여함으로써 귀하는 본 행동 강령을 준수해야 합니다. 용납되지 않는 행동을 [email protected]로 보고해 주세요.
다음은 Java에서 Spring 데이터 저장소를 사용하는 애플리케이션에 대한 간단한 티저입니다.
public interface PersonRepository extends CrudRepository < Person , Long > {
List < Person > findByLastname ( String lastname );
List < Person > findByFirstnameLike ( String firstname );
}
@ Service
public class MyService {
private final PersonRepository repository ;
public MyService ( PersonRepository repository ) {
this . repository = repository ;
}
public void doWork () {
repository . deleteAll ();
Person person = new Person ();
person . setFirstname ( "Oliver" );
person . setLastname ( "Gierke" );
repository . save ( person );
List < Person > lastNameResults = repository . findByLastname ( "Gierke" );
List < Person > firstNameResults = repository . findByFirstnameLike ( "Oli*" );
}
}
@ Configuration
@ EnableMongoRepositories
class ApplicationConfig extends AbstractMongoClientConfiguration {
@ Override
protected String getDatabaseName () {
return "springdata" ;
}
}
Maven 종속성을 추가합니다.
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}</ version >
</ dependency >
다가오는 주요 버전의 최신 스냅샷을 원한다면 Maven 스냅샷 저장소를 사용하고 적절한 종속성 버전을 선언하세요.
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >${version}-SNAPSHOT</ version >
</ dependency >
< repository >
< id >spring-snapshot</ id >
< name >Spring Snapshot Repository</ name >
< url >https://repo.spring.io/snapshot</ url >
</ repository >
이전 버전의 Spring Data에서 업그레이드하는 방법에 대한 지침은 프로젝트 위키에서 제공됩니다. 업그레이드하려는 버전을 찾으려면 릴리스 정보 섹션의 링크를 따르세요.
스프링 데이터에 문제가 있나요? 우리는 기꺼이 도와드리겠습니다!
참조 문서와 Javadoc을 확인하세요.
Spring 기본 사항 알아보기 - Spring Data는 Spring Framework를 기반으로 구축됩니다. spring.io 웹 사이트에서 다양한 참조 문서를 확인하세요. Spring을 막 시작했다면 가이드 중 하나를 사용해 보세요.
업그레이드하는 경우 "새롭고 주목할만한" 기능에 대한 변경 로그를 확인하세요.
질문하기 - spring-data-mongodb
태그가 붙은 질문이 있는지 stackoverflow.com을 모니터링합니다. Gitter에서 커뮤니티와 채팅할 수도 있습니다.
github.com/spring-projects/spring-data-mongodb/issues에서 Spring Data MongoDB의 버그를 보고하세요.
Spring Data는 버그 및 기능 요청을 기록하기 위해 문제 추적 시스템으로 Github를 사용합니다. 문제를 제기하려면 아래 권장 사항을 따르십시오.
버그를 기록하기 전에 이슈 트래커를 검색하여 누군가 이미 문제를 보고했는지 확인하세요.
이슈가 아직 존재하지 않는 경우 새 이슈를 생성합니다.
이슈 리포트를 통해 최대한 많은 정보를 제공해 주시기 바라며, 사용 중인 Spring Data의 버전, JVM 버전, Stacktrace 등을 알고 싶습니다.
코드를 붙여넣거나 스택 추적을 포함해야 하는 경우 Markdown 코드 펜스 ```를 사용하세요.
spring.io 사이트에는 Spring Data를 단계별로 사용하는 방법을 보여주는 여러 가이드가 포함되어 있습니다.
MongoDB를 사용하여 데이터에 액세스하는 방법은 간단한 애플리케이션을 만드는 방법과 리포지토리를 사용하여 데이터에 액세스하는 방법을 보여주는 매우 기본적인 가이드입니다.
REST를 사용하여 MongoDB 데이터에 액세스하는 방법은 리포지토리를 통해 MongoDB에 저장된 데이터를 노출하는 REST 웹 서비스를 만드는 방법을 안내합니다.
Spring 데이터 예제에는 특정 기능을 더 자세히 설명하는 예제 프로젝트가 포함되어 있습니다.
Spring Data를 사용하기 위해 소스에서 빌드할 필요는 없습니다. 바이너리는 repo.spring.io에서 사용할 수 있으며 위에서 언급한 Maven 구성을 사용하여 Maven에서 액세스할 수 있습니다.
메모 | Gradle 구성은 Maven과 유사합니다. |
시작하는 가장 좋은 방법은 start.spring.io에서 MongoDB를 사용하여 Spring Boot 프로젝트를 생성하는 것입니다. 명령형 애플리케이션을 구축하려면 이 링크를 따르고 반응형 애플리케이션을 구축하려면 이 링크를 따르세요.
그러나 가장 뛰어난 최신 기능을 시험해보고 싶다면 Maven 래퍼와 최소한의 JDK 17(JDK 다운로드)을 사용하여 Spring Data MongoDB를 쉽게 구축할 수 있습니다.
Spring Data MongoDB를 구축하려면 MongoDB 배포판을 다운로드하고 설치해야 합니다.
MongoDB를 설치한 후에는 MongoDB 서버를 시작해야 합니다. MongoDB 설치 디렉터리(예: MONGODB_HOME
)에 환경 변수를 설정하는 것이 편리합니다.
전체 테스트 스위트를 실행하려면 MongoDB 복제본 세트가 필요합니다.
MongoDB 서버를 실행하려면 명령줄에서 다음 명령을 입력하세요.
$ $MONGODB_HOME /bin/mongod --dbpath $MONGODB_HOME /runtime/data --ipv6 --port 27017 --replSet rs0
...
" msg " : " Successfully connected to host "
MongoDB 서버가 시작되면 " 호스트에 성공적으로 연결되었습니다 "라는 메시지( msg
)가 표시되어야 합니다.
mongod
명령에 대한 --dbpath
옵션을 확인하세요. 원하는 대로 설정할 수 있지만 이 경우 절대 경로를 MongoDB 설치 디렉터리( $MONGODB_HOME
) 아래 하위 디렉터리( runtime/data/
)로 설정했습니다.
MongoDB 서버를 처음 시작할 때 MongoDB 복제본 세트를 한 번만 초기화해야 합니다. 복제본 세트를 초기화하려면 mongo 클라이언트를 시작합니다.
$ $MONGODB_HOME /bin/mongo
MongoDB server version: 6.0.0
...
그런 다음 다음 명령을 입력하십시오.
mongo > rs.initiate({ _id: ' rs0 ' , members: [ { _id: 0, host: ' 127.0.0.1:27017 ' } ] })
마지막으로 UNIX 기반 시스템(예: Linux 또는 Mac OS X)에서는 ulimit
를 조정해야 할 수도 있습니다. 필요한 경우 다음 명령을 사용하여 ulimit
를 조정할 수 있습니다(32768은 권장 사항일 뿐입니다).
$ ulimit -n 32768
ulimit -a
다시 사용하여 " open files "에 대한 ulimit
적절하게 설정되었는지 확인할 수 있습니다.
이제 Spring Data MongoDB를 구축할 준비가 되었습니다. 다음 mvnw
(Maven Wrapper) 명령을 입력하기만 하면 됩니다.
$ ./mvnw clean install
일반 mvn
명령을 사용하여 빌드하려면 Maven v3.8.0 이상이 필요합니다.
끌어오기 요청을 제출하려면 CONTRIBUTING.adoc를 참조하세요. 특히 첫 번째 중요 변경 사항을 적용하기 전에 기여자 계약에 서명하세요.
문서를 빌드하면 테스트를 실행하지 않고도 프로젝트도 빌드됩니다.
$ ./mvnw clean install -Pantora
생성된 문서는 target/antora/site/index.html
에서 사용할 수 있습니다.
Spring Data MongoDB는 Apache 2.0 라이센스에 따라 출시된 오픈 소스 소프트웨어입니다.