入門すべてのガイド非同期メソッドの作成このガイドでは、GitHubへの非同期クエリを作成する方法を説明します。焦点は非同期部分にあります。これは、サービスをスケーリングするときによく使用される機能です。構築するものGitHubユーザー情報を照会し、GitHubのAPIを介してデータを取得する検索サービスを構築します。インターフェースを使用して結果を待つことです。Futureから進化したものです。複数の非同期操作をパイプライン化し、単一の非同期計算にマージすることが簡単になります。3.2+(Apache)コードを直接IDEにインポートすることもできます。入門ガイドと同様に、最初から始めて各ステップを完了するか、すでに慣れている場合は基本的なセットアップステップをバイパスできます。いずれにしても、最終的に動作するコードになります。Initializrから開始に進みます。基本をスキップするには、次の手順を実行します。使用してクローンを作成します。https://github.com/spring-guides/gs-async-method.git(英語)gs-async-method/initialにcdGitHubユーザーの表現を作成するにジャンプしてください。完了したときは、gs-async-method/completeのコードに対して結果を確認できます。開始する必要があります。Initializrは、アプリケーションに必要なすべての依存関係をすばやく取り込む方法を提供し、多くのセットアップを行います。Web依存関係のみが必要です。次のイメージは、このサンプルプロジェクト用に設定されたInitializrを示しています。前の図は、Mavenがビルドツールとして選択されたInitializrを示しています。Gradleも使用できます。値をそれぞれグループおよびアーティファクトとして表示します。このサンプルの残りの部分では、これらの値を使用します。ファイルを示しています。ファイルを示しています。{useJUnitPlatform()}GitHubユーザーの表現を作成するGitHubルックアップサービスを作成する前に、GitHubのAPIを通じて取得するデータの表現を定義する必要があります。ユーザー表現をモデル化するには、リソース表現クラスを作成します。src/main/java/com/example/asyncmethod/User.javaから)が示すように、フィールド、コンストラクター、およびアクセサーを持つプレーンな古いJavaオブジェクトを提供します。オブジェクトに変換します。アノテーションは、クラスにリストされていない属性を無視するようSpringに指示します。これにより、REST呼び出しとドメインオブジェクトの生成が簡単になります。URLのみを取得します。GitHubルックアップサービスを作成する次に、GitHubを照会してユーザー情報を検索するサービスを作成する必要があります。src/main/java/com/example/asyncmethod/GitHubLookupService.javaから)は、その方法を示しています。オブジェクトに変換します。アノテーションが付けられており、Springのコンポーネントスキャンの候補となり、アプリケーションコンテキストを検出して追加します。アノテーションが付いており、別のスレッドで実行する必要があることを示しています。インスタンスを返します。メソッドは非同期に実行できません。クラス内で作成するか、@ComponentScanで取得する必要があります。GitHubのAPIのタイミングはさまざまです。このガイドの後半で利点を示すために、このサービスには1秒の遅延が追加されています。アプリケーションを実行可能にするサンプルを実行するには、実行可能なjarを作成できます。アノテーションはWebアプリケーションで機能しますが、その利点を確認するためにWebコンテナーをセットアップする必要はありません。src/main/java/com/example/asyncmethod/AsyncMethodApplication.javaから)は、その方法を示しています。クラスを作成しました。src/main/java/com/example/asyncmethod/AsyncMethodApplication.java内)からダウンロードしたzipファイルで見つけることができます。そのクラスをプロジェクトにコピーしてから変更するか、前のリストからクラスをコピーできます。次のすべてを追加する便利なアノテーションです。アプリケーションコンテキストのBean定義のソースとしてクラスにタグを付けます。Bootに指示します。クラスパスにある場合、このアノテーションはアプリケーションにWebアプリケーションとしてフラグを立て、DispatcherServletのセットアップなどの主要な動作をアクティブにします。パッケージ内の他のコンポーネント、構成、およびサービスを探して、コントローラーを検出させるように指示します。メソッドを使用してアプリケーションを起動します。ファイルもありません。このWebアプリケーションは100%純粋なJavaであり、接続機能やインフラストラクチャの構成に対処する必要はありませんでした。メソッドを実行するSpringの機能をオンにします。