Javaでの静的リソースのロード例の詳細な説明

Y2J
リリース: 2017-05-10 10:28:51
オリジナル
2452 人が閲覧しました

この記事では主に Spring Boot での静的リソースの読み込み処理方法を紹介します。必要な方は参考にしてください

1. Spring Boot のデフォルトのリソース処理

Spring Boot はデフォルトで静的リソース処理を提供します。 WebMvcAutoConfiguration でさまざまなプロパティを構成します。

Spring Boot がファイルをロードするためのデフォルトのパスは次のとおりです:

/META-INF/resources/
/resources/
/static/
/public/

これらのディレクトリの下では、もちろん Spring からも参照できます。ブート ソース コード Java コード:

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/",  "classpath:/static/", "classpath:/public/" };
ログイン後にコピー

上記は、静的リソースのマッピング パスです。優先順位は次のとおりです: META-INF/resources > static > すべてのローカル静的リソースは以下で構成されます。 Web アプリの下ではなく、クラスパスです。

Spring Boot によって提供される Sping MVC が要件を満たしていない場合は、構成クラス (@Configuration アノテーションが付けられたクラス) と @EnableWebMvc アノテーションを使用して、完全に制御された MVC 構成を実現できます。

もちろん、通常、Spring Boot の自動構成はほとんどのニーズを満たします。 Spring Boot によって提供される利便性を維持し、独自の追加構成を追加する必要がある場合は、@EnableWebMvc アノテーションを使用せずに構成クラスを定義し、

WebMvcConfigurerAdapter を継承できます。

@EnableWebMvc を使用すると、公式の /static、/public、META-INF/resources、/resources および静的リソースを保存するその他のディレクトリが自動的にカバーされます。

2. カスタム リソース マッピング

ここでは、このクラスのメソッドをオーバーライドすることで、一般的に使用される構成をいくつか紹介します。

カスタマイズされたリソース マッピング addResourceHandlers


たとえば、静的リソース マッピング ディレクトリをカスタマイズしたい場合は、addResourceHandlers メソッドを書き直すだけで済みます。

@Configuration
public class SimpleWebAppConfigurer extends WebMvcConfigurerAdapter {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/myresource/**").addResourceLocations("classpath:/myresource/");
    super.addResourceHandlers(registry);
  }
}
ログイン後にコピー

addResourceHandler でマッピング パスを追加し、addResourceLocations でパスを指定します。

/myresource/* をデフォルトと同じ /* に変更すると、addResourceLocations を複数回使用してディレクトリを追加できます。最初に追加した優先順位は、後で追加したものよりも高くなります。

3. 外部リソースを使用する

絶対パスフォルダー (H:/images/ など) を指定したい場合は、addResourceLocations を使用するだけで指定できます。

// 可以直接使用addResourceLocations 指定磁盘绝对路径,同样可以配置多个位置,注意路径写法需要加上file:
registry.addResourceHandler("/myimgs/**").addResourceLocations("file:H:/myimgs/");
ログイン後にコピー
は、

設定ファイル

を介して設定されます。実際、Spring Boot には、application.properties (または .yml) で直接設定できるメソッドも用意されています。

設定方法は次のとおりです:

spring.resources.static-locations を使用してパターンが指すパスを再定義し、classpath: と file: をサポートします (上で説明済み)

spring.mvc.static- に注意してくださいpath - 定義できるパターンは 1 つだけであり、カンマで区切られた複数のメソッドは現在サポートされていません。

【関連する推奨事項】

1.

無料の Java ビデオチュートリアル

2. Java アノテーションの包括的な分析

3. Alibaba Java 開発マニュアル

以上がJavaでの静的リソースのロード例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!