SpringBoot静态资源配置

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);
 }

}

你可能感兴趣的:(SpringBoot)