私は自分のWebアプリケーションに静的リソースを提供しようとしています。
@SuppressWarnings("deprecation")
@Bean
WebMvcConfigurerAdapter configurer(){
return new WebMvcConfigurerAdapter() {
@Override
public void addResourceHandlers (ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").
addResourceLocations("classpath:/static/");
}
};
}
ただし、WebMvcConfigurerAdapterはSpring 5で非推奨になりました。静的リソースにアクセスするにはどうすればよいですか?
ドキュメントから:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/public", "classpath:/static/")
.setCachePeriod(31556926);
}
}
上記の@alfcopeの答えから追加するだけです:
documentation で提案されているように、WebMvcConfigurationSupportを直接拡張することで同じ目的を達成できます。
WebMvcConfigurationSupportを拡張すると@EnableWebMvcの目的に役立ち、必要なデフォルトの実装(この場合はaddResourceHandlers)を選択的にオーバーライドできるようになります。したがって、コード例は
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/public", "classpath:/static/")
.setCachePeriod(31556926);
}
}