web-dev-qa-db-ja.com

mvc:resourcesの注釈構成の置き換え-Spring

Spring MVCプロジェクトをアップグレードして、新しい注釈を使用し、XMLを削除しようとしています。以前は、次の行でweb.xmlに静的リソースをロードしていました。

<mvc:resources mapping="/resources/**" location="/resources/" /> 

今、私はWebApplicationInitializerクラスと@EnableWebMvcアノテーションを使用して、xmlファイルなしでサービスを開始していますが、リソースをロードする方法がわかりません。

Xmlを使用せずにこれらのリソースを戻すための注釈または新しい構成はありますか?

66
Dan W

Spring 3および4:の場合

これを行う1つの方法は、構成クラスでWebMvcConfigurerAdapterを拡張し、次のメソッドをオーバーライドすることです。

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
107
AHungerArtist

春5

Spring 5現在、これを行う正しい方法は、単純に WebMvcConfigurer インターフェースを実装することです。

例えば:

@Configuration
@EnableWebMvc
public class MyApplication implements WebMvcConfigurer {

    public void addResourceHandlers(final ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }
}

非推奨のメッセージを参照してください: WebMvcConfigurerAdapter

14
etech