Spring Boot配置文件路径映射
因为Web应用通过URL不能直接访问非项目内的文件,所以需要将外部文件的路径映射到某一路径。
Spring Boot内置Tomcat,意味着可以对单独的应用进行路径映射配置。一般的web项目,在Tomcat 通过修改server.xml的方式进行映射,映射是对所有应用生效的,而且如果实际路径不存在,就不能启动成功。如果配置的路径映射的实际路径是一个U盘的路径,那就要插上这个U盘或者再修改server.xml才能启动其他web项目。所以,需要单独配置路径映射并且实际路径不稳定的web项目,适合用Spring boot进行编写。
Spring boot配置路径映射的方式:
添加类:
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//需要的文件路径映射
registry.addResourceHandler("/local/**").addResourceLocations("file:F:/resource/");
//项目内静态文件映射,仍然可以访问到静态资源
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
super.addResourceHandlers(registry);
}
}
需要注意的是:
如果没有修改扫描配置,就必须把这个类放到启动类xxxApplication(带有@SpringBootApplication注解的)所在的包下或该包下的子包下。
否则不起作用。

Spring Boot内置Tomcat允许对应用进行单独的路径映射配置,避免了传统方式中影响所有应用的问题。文章介绍了如何通过添加特定类来实现外部文件路径到URL的映射,并强调了该类的位置需在启动类的同一包或其子包内以确保生效。
571

被折叠的 条评论
为什么被折叠?



