Spring Data プロジェクトの主な目標は、非リレーショナル データベース、マップリデュース フレームワーク、クラウド ベースのデータ サービスなどの新しいデータ アクセス テクノロジを使用する Spring ベースのアプリケーションの構築を容易にすることです。
Spring Data MongoDB プロジェクトは、ストア固有の機能を維持しながら、使い慣れた一貫性のある Spring ベースのプログラミング モデルを新しいデータストアに提供することを目的としています。 Spring Data MongoDB プロジェクトは、MongoDB ドキュメント データベースとの統合を提供します。 Spring Data MongoDB の主要な機能領域は、MongoDB Document
と対話し、リポジトリ スタイルのデータ アクセス レイヤーを簡単に作成するための POJO 中心のモデルです。
このプロジェクトは Spring の行動規範に準拠しています。参加することにより、この行動規範を遵守することが期待されます。容認できない行為は [email protected] に報告してください。
Java で Spring Data Repositories を使用するアプリケーションの簡単なティーザーを次に示します。
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 の以前のバージョンからアップグレードする方法については、プロジェクト Wiki で説明されています。リリース ノート セクションのリンクに従って、アップグレード先のバージョンを見つけます。
Spring Data でお困りですか?ぜひお手伝いさせていただきます!
リファレンスドキュメントとJavadocを確認してください。
Spring の基本を学びましょう – Spring Data は Spring Framework 上に構築されています。豊富なリファレンス ドキュメントについては spring.io Web サイトを確認してください。 Spring を使い始めたばかりの場合は、いずれかのガイドを試してください。
アップグレードする場合は、変更履歴で「注目すべき新機能」を確認してください。
質問する - 私たちは、 spring-data-mongodb
でタグ付けされた質問について stackoverflow.com を監視します。 Gitter のコミュニティとチャットすることもできます。
Spring Data MongoDB のバグは、github.com/spring-projects/spring-data-mongodb/issues で報告してください。
Spring Data は、問題追跡システムとして Github を使用し、バグや機能リクエストを記録します。問題を提起したい場合は、以下の推奨事項に従ってください。
バグを記録する前に、問題トラッカーを検索して、誰かがすでに問題を報告していないかどうかを確認してください。
問題がまだ存在しない場合は、新しい問題を作成します。
問題レポートでは、できるだけ多くの情報を提供してください。使用している Spring Data のバージョン、JVM バージョン、Stacktrace などを知りたいと考えています。
コードを貼り付ける必要がある場合、またはスタック トレースを含める必要がある場合は、Markdown コード フェンス ``` を使用します。
spring.io サイトには、Spring Data の使用方法を段階的に示すいくつかのガイドが含まれています。
MongoDB を使用したデータへのアクセスは、簡単なアプリケーションの作成方法と、リポジトリを使用してデータにアクセスする方法を説明する非常に基本的なガイドです。
REST を使用した MongoDB データへのアクセスは、リポジトリを介して MongoDB に保存されたデータを公開する REST Web サービスを作成するためのガイドです。
Spring Data Examples には、特定の機能をより詳細に説明するサンプル プロジェクトが含まれています。
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 サーバーを初めて起動するときに 1 回だけです。レプリカ セットを初期化するには、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 ラッパー) コマンドを入力するだけです。
$ ./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 ライセンスに基づいてリリースされたオープンソース ソフトウェアです。