Spring MVCプロジェクトをアップグレードして、新しい注釈を使用し、XMLを削除しようとしています。以前は、次の行でweb.xml
に静的リソースをロードしていました。
<mvc:resources mapping="/resources/**" location="/resources/" />
今、私はWebApplicationInitializer
クラスと@EnableWebMvc
アノテーションを使用して、xmlファイルなしでサービスを開始していますが、リソースをロードする方法がわかりません。
Xmlを使用せずにこれらのリソースを戻すための注釈または新しい構成はありますか?
Spring 3および4:の場合
これを行う1つの方法は、構成クラスでWebMvcConfigurerAdapter
を拡張し、次のメソッドをオーバーライドすることです。
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
Spring 5現在、これを行う正しい方法は、単純に WebMvcConfigurer インターフェースを実装することです。
例えば:
@Configuration
@EnableWebMvc
public class MyApplication implements WebMvcConfigurer {
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
}
非推奨のメッセージを参照してください: WebMvcConfigurerAdapter