それを可能にするには、アプリケーションに追加の依存関係が必要です。jar"のバージョンを管理します。application.ymlまたは環境など。「外部プロパティの組み込みオプションを理解する」を参照)に新しいエントリを追加してWebサーバーをカスタマイズします。名前空間が含まれています。appendix-application-properties.htmlのリストを参照してください。2など、すでに多くの一般的なユースケースについて説明しました。確認する必要があります。このようなコンポーネントを宣言し、選択に関連するサーバーファクトリにアクセスできます。選択したサーバー(Tomcat、Jetty、Reactor、Netty、Undertow)および選択したWebスタック(サーブレットまたはリアクティブ)のバリアントを選択する必要があります。(サーブレットスタック)を使用したTomcatの場合です。Bootは以下を提供します。サーバーサーブレットスタックリアクティブスタックTomcatTomcatServletWebServerFactoryTomcatReactiveWebServerFactoryJettyJettyServletWebServerFactoryJettyReactiveWebServerFactoryUndertowUndertowServletWebServerFactoryUndertowReactiveWebServerFactoryReactorなしNettyReactiveWebServerFactoryWebServerFactoryにアクセスしたら、多くの場合、カスタマイザーを追加して、コネクタ、サーバーリソース、サーバー自体などの特定の部分を構成できます。すべてサーバー固有のAPIを使用します。コンポーネントを宣言することもできます。Bootによって提供されるコンポーネントをオーバーライドします。名前空間の構成プロパティに依存することはできなくなります。ServletContextListenerと、サーブレットAPIでサポートされる他のリスナーをアプリケーションに追加するには、2つの方法があります。定義を提供する必要があります。これは、構成または依存関係を注入する場合に非常に役立ちます。アプリケーションライフサイクルの非常に早い段階でコンテナーにインストールする必要があるため、他のBeanの初期化が頻繁に行われないように注意する必要があります。JPA構成に依存させるのは得策ではありません。)初期化ではなく、最初に使用したときに遅延してBeanを初期化することにより、このような制限を回避できます。追加することにより、マッピングおよび初期化パラメーターを追加することもできます。これは、サーブレット仕様のデフォルトのディスパッチャタイプと一致します。Beanと同様に、サーブレットフィルターBeanの順序を定義できます。「spring-boot-features.html」セクションを必ず確認してください。Beanは、サーブレットコンテナーに自動的に登録されます。Beanの登録を無効にするには、次の例に示すように、登録Beanを作成し、無効としてマークします。アノテーションを付け、登録するコンポーネントを含むパッケージを指定することにより、組み込みサーブレットコンテナーに自動的に登録できます。アノテーション付きクラスのパッケージからスキャンします。アクセスログを構成するTomcat、Undertow、およびJettyのアクセスログは、それぞれのネームスペースを使用して構成できます。Tomcatへのアクセスを記録します。ディレクトリは一時ディレクトリです。そのため、Tomcatのベースディレクトリを修正するか、ログに絶対パスを使用することができます。Undertowのアクセスロギングは、次の例に示すように、同様の方法で構成できます。ディレクトリに保存されます。プロパティを設定することにより、この場所をカスタマイズできます。最後に、Jettyのアクセスロギングは次のように構成することもできます。System.errにリダイレクトされます。フロントエンドプロキシサーバーの背後で実行するアプリケーションがプロキシ、ロードバランサー、またはクラウド内で実行されている場合、リクエスト情報(ホスト、ポート、スキームなど)は途中で変更される可能性があります。example.orgのみを見るはずです。HTTPヘッダーを定義します。プロキシはこのヘッダーを使用して、元のリクエストに関する情報を提供できます。302応答、JSONドキュメント、またはHTMLページでクライアントに送信するときにその情報を自動的に使用できます。X-Forwarded-Prefixなどの非標準ヘッダーもあります。設定するだけでサポートできます。このオプションを使用すると、Webサーバー自体がこの機能をネイティブでサポートします。特定のドキュメントを確認して、特定の動作について学ぶことができます。FrameworkはForwardedHeaderFilterを提供します。FRAMEWORKに設定することにより、アプリケーションでサーブレットフィルターとして登録できます。NATIVEになります。Tomcatのプロキシ設定をカスタマイズするTomcatを使用する場合は、次の例に示すように、「転送された」情報を伝達するために使用されるヘッダーの名前を追加で構成できます。server.tomcat.remote-ip-header=x-your-remote-ip-headerserver.tomcat.protocol-header=x-your-protocol-headerTomcatは、信頼される内部プロキシに一致するデフォルトの正規表現を使用して構成されます。IPアドレスは信頼されています。次の例に示すように、application.propertiesにエントリを追加することにより、バルブの構成をカスタマイズできます。server.tomcat.internal-proxies=192\\.168\\.\\d{1,3}\\.\\d{1,3}二重バックスラッシュは、構成にプロパティファイルを使用する場合にのみ必要です。192\.168\.\d{1,3}\.\d{1,3}になります。空に設定することにより、すべてのプロキシを信頼できます(ただし、運用環境ではそうしないでください)。Beanに新しいバルブインスタンスを追加します。TomcatServletWebServerFactoryに追加して、HTTPおよびHTTPSコネクタを含む複数のコネクタを許可できます。Bootで使用される組み込みTomcatはCookie形式の「バージョン0」をサポートしていないため、次のエラーが表示される場合があります。value可能な限り、後のCookie仕様に準拠した値のみを保存するようにコードを更新することを検討してください。LegacyCookieProcessorを使用するようにTomcatを構成できます。Beanを使用します。TomcatのMBeanレジストリを有効にする組み込みTomcatのMBeanレジストリはデフォルトで無効になっています。これにより、Tomcatのメモリフットプリントが最小限に抑えられます。プロパティを使用する必要があります。Builderに追加します。@Beanを宣言する必要があります。アノテーション付きBeanを基礎となるWebSocketコンテナーに登録します。Beanは必要ありません。MVCを含む多くのスターターがあります。MVCに依存することに注意してください。Bootに関する一般的な質問に回答します。Jackson2がクラスパス上にある限り、デフォルトでJSON応答をレンダリングする必要があります。デフォルトでJSON表現を提供します。ブラウザはXMLを好むAcceptヘッダーを送信する傾向があるため、ブラウザではXML応答が表示されることがあります。XML拡張(jackson-dataformat-xml)がある場合、それを使用してXML応答をレンダリングできます。JSONに使用した前の例は機能します。XMLレンダラーを使用するには、次の依存関係をプロジェクトに追加します。@XmlRootElementとしてアノテーションを付けるという追加要件を使用してXMLをレンダリングできます。8.ですぐに使用できます。最新のJava世代を使用している場合は、プロジェクトに次の依存関係を追加します。ヘッダーを送信する(またはブラウザーを使用する)必要があります。使用して、HTTP交換でのコンテンツ変換をネゴシエートします。Jacksonがクラスパス上にある場合、Jackson2ObjectMapperBuilderが提供するデフォルトのコンバーターをすでに取得しています。そのインスタンスは自動的に構成されます。)インスタンス(デフォルトで作成)には、以下のカスタマイズされたプロパティがあります。Bootには、この動作を簡単にカスタマイズできるいくつかの機能もあります。インスタンスを構成できます。Jacksonは、処理のさまざまなアスペクトを構成するために使用できる、単純なオン/オフ機能の広範なスイートを提供します。これらの機能は、環境内のプロパティにマッピングされる6つの列挙(Jackson)で説明されています。non_empty例:プリティプリントを有効にするには、spring.jackson.serialization.indent_output=trueを設定します。ケースは対応する列挙定数のケースと一致する必要がないことに注意してください。INDENT_OUTPUTです。Beanを含む、ビルダーを使用して作成されたすべてのマッパーに適用されます。Beanによってカスタマイズできます。このようなカスタマイザーBeanは並べ替えることができ(ブートのカスタマイザーの順序は0)、ブートのカスタマイズの前後に追加のカスタマイズを適用できます。インスタンスに適用されます。これにより、アプリケーションに新しい機能を追加するときにカスタムモジュールを提供するグローバルメカニズムが提供されます。@Beanを定義します。ObjectMapperのすべての自動構成が無効になることに注意してください。指定すると、MVC構成のデフォルト値が置き換えられます。便利なBeanが提供されます(デフォルトのMVC構成を使用する場合は常に利用可能です)。デフォルトおよびユーザー拡張のメッセージコンバーターにアクセスするための便利な方法がいくつかあります。ソースコードを参照してください。@RestControllerからの応答)をレンダリングします。Bootコンテキストに適切なタイプのBeanを追加することにより、追加のコンバーターを提供できます。)の場合、デフォルト値を置き換えます。便利なBeanが提供され、デフォルトのMVC構成を使用する場合は常に利用可能です。RestTemplateに手動で挿入したい場合に便利です)。メソッドをオーバーライドすることでコンバーターに貢献することもできます。Bootは同じメカニズムを使用してデフォルトを提供するため)。使用して完全に制御し、すべてを手動で行うことができます。ソースコードを参照してください。APIを採用しています。ディレクトリ)、およびデータがディスクにフラッシュされるしきい値を上書きできます。@RequestParamアノテーション付きパラメーターとしてマルチパートエンコードされたファイルデータを受信する場合に役立ちます。ソースを参照してください。Uploadのような追加の依存関係を導入するのではなく、コンテナーの組み込みのマルチパートアップロードサポートを使用することをお勧めします。DispatcherServletのスイッチを切るデフォルトでは、すべてのコンテンツはアプリケーションのルート(/)から提供されます。別のパスにマップする場合は、次のように構成できます。Bootはそれらをコンテナーに透過的に登録します。サブコンテキストにマッピングできます。DispatcherServletのパスを提供する必要があります。アノテーションを提供することです。これを行うと、すべてのMVC設定が手元に残ります。@ResponseBodyのレンダリングには使用されません)。実装には多くの選択肢がありますが、Spring自体は、どの実装を使用すべきかについて意見がありません。Bootは、クラスパスおよびアプリケーションコンテキストで検出した内容に応じて、1つまたは2つをインストールします。アプリケーションコンテキストで見つかったすべてのリゾルバーを使用し、結果が得られるまで各リゾルバーを順番に試行します。独自のものを追加する場合、順序とリゾルバーが追加される位置に注意する必要があります。コンテキストに追加します。InternalResourceViewResolver。使用してレンダリングできる物理リソース(静的リソースとJSPページを使用する場合はそれらを含む)を見つけます。spring.mvc.view.suffixを介して外部構成からアクセスできます)。同じタイプのBeanを提供することにより、オーバーライドできます。BeanNameViewResolver。同じ名前のBeanをピックアップします。オーバーライドまたは置換する必要はありません。Beanが存在する場合にのみ追加されます。これは「マスター」リゾルバーであり、他のすべてに委譲し、クライアントから送信された「Accept」HTTPヘッダーに一致するものを見つけようとします。あり、詳細を学ぶために勉強することができます。ソースコードを参照して詳細を調べることもできます。オフに切り替えることができます。名をプレフィックスとサフィックスで囲むことにより、リソースを探します。spring.thymeleaf.suffixです。プレフィックスとサフィックスの値は、デフォルトでそれぞれ「classpath:/templates/」と「.html」になります。オーバーライドできます。外部化され、デフォルト値が「classpath:/templates/」である)でリソースを探します。spring.freemarker.suffixに外部化されます。プレフィックスとサフィックスのデフォルト値は、それぞれ空と「.ftlh」です。オーバーライドできます。spring.groovy.template.suffixに外部化)で囲むことにより、ローダーパス内のリソースを探します。プレフィックスとサフィックスのデフォルト値はそれぞれ「classpath:/templates/」と「.tpl」です。オーバーライドできます。名をプレフィックスとサフィックスで囲むことにより、リソースを探します。spring.mustache.suffixです。接頭辞と接尾辞の値は、デフォルトでそれぞれ「classpath:/templates/」と「.mustache」になります。オーバーライドできます。詳細については、次のセクションを参照してください。Securityは、特定のユーザーとしてテストを実行するためのサポートを提供します。ロールを持つ認証済みユーザーで実行されます。MockMvcを使用してコントローラーをテストするときにも使用できます。Securityのリファレンスドキュメントを参照してください。MVCベースのWebアプリケーションを保護するために使用できるのとほぼ同じ方法で、JerseyベースのWebアプリケーションを保護するために使用できます。使用するようにJerseyを構成する必要があります。Securityがクライアントに認証または認可の失敗を報告する機会を得る前に、Jerseyが応答をコミットすることを防ぎます。設定する必要があります。MVCなどの別のWebフレームワークとともにJerseyを使用するには、他のフレームワークが処理できない要求を処理できるように構成する必要があります。アプリケーションプロパティを設定することにより、サーブレットではなくフィルタを使用するようにJerseyを設定します。Bootは、HTTPクライアントで動作する多くのスターターを提供します。このセクションでは、それらの使用に関する質問に回答します。RestTemplateを作成できます。作成するための推奨アプローチです。プロキシ構成の正確な詳細は、使用されている基礎となるクライアント要求ファクトリーによって異なります。