J'essaie de mettre à niveau mon projet Spring MVC pour utiliser les nouvelles annotations et me débarrasser de mon XML. Auparavant, je chargeais mes ressources statiques dans mon web.xml
avec la ligne:
<mvc:resources mapping="/resources/**" location="/resources/" />
Maintenant, j'utilise la classe WebApplicationInitializer
et @EnableWebMvc
annotation pour démarrer mon service sans aucun fichier xml, mais ne semble pas comprendre comment charger mes ressources.
Existe-t-il une annotation ou une nouvelle configuration pour récupérer ces ressources sans avoir à utiliser xml?
Pour les printemps 3 et 4:
Pour cela, vous pouvez demander à votre classe de configuration d'étendre WebMvcConfigurerAdapter
, puis de remplacer la méthode suivante en tant que telle:
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
À partir de Spring 5, la bonne façon de procéder consiste simplement à implémenter l'interface WebMvcConfigurer .
Par exemple:
@Configuration
@EnableWebMvc
public class MyApplication implements WebMvcConfigurer {
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
}
Voir le message obsolète dans: WebMvcConfigurerAdapter