すべての人に良い一日を!
まったく新しいストリーム
「Spring Frameworkの開発者」が「突然
」始まりました。このコースは、新しい学生と、「通常の」Javaおよびエンタープライズについてすでに学習していない学生の間で非常に人気がありました。 それで、もし興味があれば、
オープンレッスンのために私たちのところに来て、そしてもちろん、このトピックに関する興味深い資料を共有してください。
Spring Data MongoDBチュートリアル翻訳
投稿者:Anand Kumar行こう!
今日の世界では、できるだけ早くアプリケーションを作成して実行することが非常に重要です。 また、アプリケーションは開発と保守が容易でなければなりません。
Springは、このようなフレームワークであり、他の多くの異なるフレームワークとの統合を容易にし、Springを使用したアプリケーション開発を簡素化します。 そのような統合の1つは、SpringとMongoDBの統合です。
1.はじめに このレッスンでは、最も有名なSpring javaフレームワークと最も有名なNoSQLデータベース管理システム(DBMS)MongoDBの組み合わせについて説明します。 MongoDBは、JSONのような形式でデータを保存するドキュメント指向のNoSQL DBMSです。
Spring DataとMongoDBの統合はSpringによって提供され、両者と開発者の利便性の相互作用を促進し、挿入、更新、削除のために多くのクエリを書く必要を排除します。
以下は、Spring Data MongoDBプロジェクトによって提供される機能の一部です。
- Spring Dataでは、@ ConfigurationクラスとXML構成の両方を使用できます。
- Data Access Spring例外階層は、例外を変換するために使用されます。
- Java POJOとMongoDBドキュメント間の統合マッピング。
- MongoTemplateクラス。一般的なMongoDB操作の使用を簡素化します。
- MongoTemplateに加えて、MongoReaderクラスとMongoWriterクラスを使用して、低レベルのレンダリングを行うことができます。
テクノロジーを理解する最良の方法は、実際にそれを使用することです。これがまさに私たちが今やろうとしていることです。
Spring Data MongoDBの詳細を学ぶための簡単なプログラムを作成しましょう。
2.テクノロジーとツールプログラムの作成に使用するテクノロジーとツールを見てみましょう。
- Eclispe Oxygen.2リリース(4.7.2)
- Java-バージョン9.0.4
- Gradle-4.6
- MongoDBサーバー-3.6
- MongoCompass-3.6
- SpringDataMongoDB-2.0.5-RELEASE
3.プロジェクトの構造プロジェクトの構造は次のようになります。
Spring Data MongoDBのプロジェクト構造gradleプロジェクトは上記の構造になります。 pom.xmlの場合、プロジェクトの構造はわずかに異なります。
4.プログラムこのプログラムの一環として、以下のタスクを完了しようとします。
- MongoDBでのオブジェクトの保存
- MongoDBでオブジェクトを更新する
- MongoDBからオブジェクトを削除する
- MongoDBからすべてのオブジェクトを取得する
プログラムのすべてのコンポーネントを分析しましょう。 まず、プログラムに必要な依存関係とjarファイルから始めます。
4.1グラドルGradleを使用して、プログラムの一部としてビルドします。
build.gradleファイルは次のようになります。
apply plugin: 'java' repositories { mavenCentral() } dependencies { compile group: 'org.springframework.data', name: 'spring-data-mongodb', version: '2.0.5.RELEASE' implementation 'com.google.guava:guava:23.0' testImplementation 'junit:junit:4.12' }
上記の
build.gradleファイルでは、
apply plugin: 'java'という行がインストールするプラグインを示しています。 私たちの場合、これはJavaプラグインです。
repositories{}タグは、依存関係をプルするリポジトリを報告します。 依存するjarファイルをプルアップするために、
mavenCentralを選択し
mavenCentralた。 jcenterを使用して、対応する依存jarファイルをプルアップすることもできます。
dependencies {}タグは、プロジェクトにプルアップする必要があるjarファイルに関する必要なデータを提供するために使用されます。
4.2 MongoDBの構成MongoDB構成を使用するには、
AbstractMongoConfigurationクラスを実装する必要があります。
MongoConfig.javaクラスは、次のようになります。 ここでは、xmlの代わりに注釈を使用します。 ただし、XMLを使用して構成を構成することもできます。
MongoConfig.javaクラスの実装
package com.tutorial.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.config.AbstractMongoConfiguration; import com.mongodb.MongoClient; @Configuration public class MongoConfig extends AbstractMongoConfiguration { @Override public String getDatabaseName() { return "local"; } @Override @Bean public MongoClient mongoClient() { return new MongoClient("127.0.0.1"); } }
@Configuration 、
MongoConfig.javaクラスを構成クラスとして定義するために使用されます。
@Beanは
MongoClient定義し
MongoClient 。
4.3モデルクラス次に、モデルのクラスを検討します。
student.javaは、NameやAgeなど、Studentの属性を含むモデルクラスとして使用します。
Student.javaモデル
Student.java 、POJOをMongoDBコレクションにマップするために使用されます。
学生モデルクラス
package com.tutorial.model; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "students") public class Student { public Student(String studentName, int studentAge) { this.studentName = studentName; this.studentAge = studentAge; } @Id private String id; String studentName; int studentAge; public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public int getStudentAge() { return studentAge; } public void setStudentAge(int studentAge) { this.studentAge = studentAge; } @Override public String toString() { return String.format( "Student[id=%s, studentName='%s', studentAge="+studentAge+"]", id, studentName); } }
@Documentはドキュメントを定義します。
collectionプロパティは、コレクションの照合に使用されるコレクションを決定します。 コレクションの一部として参照されるすべての属性は、POJOクラスでアクセス可能でなければなりません。
@Idはコレクション識別子を定義します。
4.4 CRUD操作MongoDBからのデータの保存、更新、削除、取得など、CRUD操作(作成、読み取り、更新、削除の略)を実行するには、
MongoOperationsを使用し
MongoOperations 。
次に、
MongoDBPOperations.javaクラスを見てみましょう。 このクラスには、CRUD操作のすべてのメソッドの実装が含まれています。
CRUD操作を実行するために使用されるMongoDBPOperationsクラス
package com.tutorial; import java.util.List; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import com.tutorial.model.Student; public class MongoDBPOperations { public void saveStudent(MongoOperations mongoOperation, Student student) { mongoOperation.save(student); System.out.println("Student saved successfully");
Javaプログラムの最も重要なクラスは、
mainメソッドを含むクラスです。
4.5アプリケーションクラスmainメソッドを含むメインクラスは
Application.javaクラスです。 このクラスを使用して、
MongoDBPOperationsクラスからメソッドを呼び出します。
MongoDBPOperationsクラスのメソッドを呼び出すためのアプリケーションクラス
package com.tutorial; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.data.mongodb.core.MongoOperations; import com.tutorial.config.MongoConfig; import com.tutorial.model.Student; public class Application { public static void main (String[] args) {
Application.javaクラスで実行される操作を順を追って見てみましょう。
ApplicationContextを作成しApplicationContext 。 これは、構成をダウンロードする必要があるためです。- さらに、
MongoOperationsオブジェクトがMongoOperationsれ、 MongoTemplateコンポーネントがロードMongoOperationsれます。 MongoDBOperationsオブジェクトは、さまざまなMongoOperation操作を実行するメソッドへのアクセスを提供します。- さらに、名前がJohnで15歳のStudentオブジェクトが作成されました。
saveMethodクラスのsaveMethodメソッドを呼び出し、必要なパラメーターを渡してオブジェクトをデータベースに保存します。- 同様に、さまざまな
MongoDBOperationsメソッドを1つずつ呼び出します。
4.6プログラムの開始最後に、プログラムをJavaアプリケーションとして実行します。 Application.java-> Run as-> Java Applicationを右クリックします。
次の結果がコンソールに表示されます。
プログラム開始後のコンソール出力次に、オブジェクトを削除するコマンドをコメントアウトしましょう。 MongoDBはデータを正常に保存します。
また、以下に示すように、オブジェクトを削除する行をコメントアウトしましょう。
削除方法をコメント化した後のクラスアプリケーション
package com.tutorial; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.data.mongodb.core.MongoOperations; import com.tutorial.config.MongoConfig; import com.tutorial.model.Student; public class Application { public static void main (String[] args) {
プログラムを変更したら、再起動しましょう。 コンソールに以下が表示されます。
削除操作がコメント化されている場合のコンソール削除コマンドにコメントを付けた結果、MongoDBはデータを保存するため、次のようになります。
保存および更新コマンド後のMongoDB出力5. Eclipseプロジェクトをダウンロードしますこの例のソースコード全体を
ここからダウンロードできます
。終わり
いつものように、私たちはここで質問やコメントを待っているか、
ユーリに行って
、聞くだけでなく周りに尋ねることもできる
公開レッスンを行っています。