web-dev-qa-db-fra.com

Printemps 5 - Comment fournir des ressources statiques

J'essaie de fournir des ressources statiques dans mon application Web et j'ai essayé:

@SuppressWarnings("deprecation")
@Bean
WebMvcConfigurerAdapter configurer(){
    return new WebMvcConfigurerAdapter() {
        @Override
        public void addResourceHandlers (ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/**").
                      addResourceLocations("classpath:/static/");
        }
    };
}

MAIS WebMvcConfigurerAdapter est obsolète à la Printemps 5. Comment puis-je accéder aux ressources statiques maintenant?

6
John Mendes

Printemps 5 - Ressources statiques

De la documentation:

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
                registry.addResourceHandler("/resources/**")
                        .addResourceLocations("/public", "classpath:/static/")
                        .setCachePeriod(31556926);
        }

}
10
alfcope

Juste pour ajouter de la réponse de @alfcope ci-dessus:

Le même objectif peut être atteint en étendant directement WebMvcConfigurationSupport comme suggéré dans la documentation

Il semble que l'extension de WebMvcConfigurationSupport serve l'objectif de @EnableWebMvc et permet de remplacer de manière sélective toute implémentation par défaut souhaitée et, dans ce cas, addResourceHandlers. Donc, l'exemple de code peut être

@Configuration
public class WebConfig extends WebMvcConfigurationSupport {

        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
                registry.addResourceHandler("/resources/**")
                        .addResourceLocations("/public", "classpath:/static/")
                        .setCachePeriod(31556926);
        }

}
1
Masud