注释配置 mvc:资源 - 弹簧

2022-08-31 12:44:05

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

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

现在,我正在利用类和注释来启动我的服务,没有任何xml文件,但似乎不知道如何加载我的资源。WebApplicationInitializer@EnableWebMvc

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


答案 1

对于春季3和4:

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

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

答案 2

春季 5

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

例如:

@Configuration
@EnableWebMvc
public class MyApplication implements WebMvcConfigurer {

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

请参阅:WebMvcConfigurerAdapter 中已弃用的消息


推荐