1:SpringBoot静态资源配置,使用 WebMvcAutoConfiguration配置各种属性。
SpringBoot 默认将 /** 所有访问映射到以下路径
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources
2:如果想要自定义静态资源的访问路径,可以定义一个config类并继承WebMvcConfigurerAdapter类,通过重写 addResourceHandlers方法配置静态资源访问路径(ps:在实践中发现只要配置类extends WebMvcConfigurerAdapter并开启@EnableWebMvc,就必须在重写的addResourceHandlers方法中配置默认静态资源访问路径,否则默认的静态资源也无法访问)
在yml文件中配置静态资源映射路径
################### zyframework配置 ###################
zyframework:
fileRepository: #文件资源参数配置
dfsRoot: g:/dfs #本地或分布式存储根路径
resourcePathMap: /u/**->file:${zyframework.fileRepository.dfsRoot}/u/,/**->classpath:/static/ #资源映射路径(->标识:key/value ,标识:分隔符)
静态资源映射代码:
@Configuration
@EnableWebMvc
public class MyMvcConfig extends WebMvcConfigurerAdapter{
@Autowired
private Environment env;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
String s=env.getProperty("zyframework.fileRepository.resourcePathMap");
String[] sArr = s.split(",");
for(String arr : sArr){
String[] split = arr.split("->");
registry.addResourceHandler(split[0]).addResourceLocations(split[1]);
}
super.addResourceHandlers(registry);
}
}