mvc:resources的注释配置替换 - Spring

时间:2013-02-13 19:45:07

标签: java spring spring-mvc configuration

我正在尝试升级我的spring mvc项目以利用新的注释并摆脱我的xml。以前我在我的web.xml中使用以下行加载我的静态资源:

<mvc:resources mapping="/resources/**" location="/resources/" /> 

现在,我正在使用WebApplicationInitializer类和@EnableWebMvc注释来启动我的服务而没有任何xml文件,但似乎无法弄清楚如何加载我的资源。

是否有注释或新配置可以在不使用xml的情况下重新获取这些资源?

2 个答案:

答案 0 :(得分:106)

对于Spring 3&amp; 4:

执行此操作的一种方法是让配置类扩展WebMvcConfigurerAdapter,然后覆盖以下方法:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}

答案 1 :(得分:12)

春天5

从Spring 5开始,正确的方法是简单地实现WebMvcConfigurer接口。

例如:

@Configuration
@EnableWebMvc
public class MyApplication implements WebMvcConfigurer {

    public void addResourceHandlers(final ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }
}

请参阅:WebMvcConfigurerAdapter

中的弃用消息