スプリングブートとアンクルリンドの起源について教えてください。
MongoDBは、lind.ddd(叔父の.NETおよび.NET Core)で二次カプセル化されており、リポジトリの一種として使用しています。開発者の場合、いくつかの標準インターフェイスのみを治します。スプリングブートフレームワークでは、アンクルのリンドに多少似ており、二次カプセル化されています。開発者は、自分のビジネスに注意を払うだけです。標準のカード操作は、実装を支援するためにスプリングブートで完了します。一般に、エンティティオブジェクトを使用したインターフェイスリポジトリを設計して、Mongoの標準インターフェイスを継承してから、標準の実装をスプリングブート依存関係インジェクションフレームワークに注入できます。これはすべて、フレームワークが私たちが実装するのに役立つものです!
プロジェクトにmongodbを実装します
プロジェクトがMongoDBを使用してデータを持続する必要がある場合、通常、次の手順を通じて達成できます。
1パッケージの依存関係build.gradleを追加します
コンパイル( 'org.springframework.boot:spring-boot-starter-data-mongodb')
ユニットテストプロジェクトがある場合は、外部リソースと通信する必要がないように、埋め込まれたMongoDBを使用できます。それがどのように機能するか:リモートからmongodbパッケージをダウンロードし、それを起動し、テストが完了した後に生成されたコレクションを削除します
testCompile( 'de.flapdoodle.embed:de.flapdoodle.embed.mongo:2.0.3')
2デフォルトの構成項目application.ymlを追加します
春:データ:mongodb:uri:mongodb://192.168.99.100:27017/テストパスワード:ゲストユーザー名:ゲスト
3ADD MONGODBコレクションに対応するエンティティクラス
/** * 住所。 * /@data@noargsconstructor@allargsconstructorpublic classアドレス{ /***番号。 */ @IDプライベート文字列ID; /** * 州。 */プライベートストリング州; /** * 市。 */プライベートストリングシティ; /** * 地区。 */プライベートストリング地区; /** * 状態。 */プライベートステータスステータス;}4エンティティに対応するリポジトリクラスを追加します。拡張標準MongoDBリポジトリを継承する必要があります。同時に、MongoDBリポジトリは自動慣習方法をサポートしています。開発者は@Queryアノテーションを使用して、ビッグデータドキュメントに非常に必要な返されたフィールドリストを決定できます。デフォルトのインターフェイスが要件を満たすことができない場合は、パーソナライズされたインターフェイスを定義して実装する必要があります。次の例では、adstressextrepositoryはパーソナライズされたインターフェイスです。外部インターフェイスアドレスリポジットは、それを継承する必要があります。叔父は、これがオブジェクト指向の開口部と閉鎖の原則をクラックしたと信じていることに注意してください。元牙、どう思いますか!
/***アドレスウェアハウジングインターフェイスは、外部に提供され、すべてのアドレス関連インターフェイスを継承します。 * /public Interface dastressRepositoryは、expersextrepository、mongorepository <address、string> { /***州に基づいてアドレスリストを取得します。 * * @param州 * @return */ @query(fields = "{'province':0}")list <address> findddressesbyprovince(string upence); /***州と州に基づいて住所リストを取得します。 * * @Param州 * @Param City * @return */@query()//フィールドは、リストに含まれるフィールドを示します<アドレス> findDdressesbyprovinceanddicationddistict(String vercince、String City、String District);}MongoDBデータベースと対話するためにMongoTemplateオブジェクトを使用して、パーソナライズされた倉庫実装!
/***特別なルールのリポジトリ実装。 */public class addressextrepositoryimpl adstressextrepository {@autowired mongotemplate mongotemplate; @Override Public Address FindByProvinceandCity(String Province、String City){Query Query = new Query(criteria.where( "province")。is( "city")。is(city)); return mongotemplate.findone(query、address.class、 "address"); }}5。コントローラーでは、 @autowiredアノテーションを介してストレージオブジェクトとビジネスオブジェクトに直接アクセスできます。
@RestControllerPublic Class MongoController {// Repository。 @Autowiredプライベートアドレスリポジトリリポジトリ。 //ユーザービジネス。 @Autowiredプライベートユーザーサービスユーザーサービス。 /***アドレスリストを取得します。 * * @return */@RequestMapping( "/address/{province}")public address getAddress( @pathvariable( "staving")string sting){system.out.println( "1、unet =" + unvince); return userservice.getAddress(州); }}要約します
上記は、編集者が紹介したスプリングブートMongodbの統合と使用例の詳細な説明です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!