web-dev-qa-db-fra.com

Remplacement de la configuration d'annotations pour mvc: ressources - Spring

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?

66
Dan W

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/");
}
107
AHungerArtist

Printemps 5

À 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

14
etech