Springboot 静态资源路径配置的两种方法
2018-02-01 11:21
716 查看
参考学习:
http://www.zslin.com/web/article/detail/23
http://blog.csdn.net/catoop/article/details/50501706
诉求:Spring Boot 默认为我们提供了静态资源处理,而有时我们需要自定义资源映射,可定义项目内部目录,也可定义外部目录。此处举例外部目录映射配置。
作用在application.yml或application.properties
首先系统有默认配置,其中默认配置的 /** 映射到 /static (或/public、/resources、/META-INF/resources)
定义 static-path-pattern: /** ,会覆盖默认配置,需要在static-locations添加默认的内部目录和自定义目录,应为
如果定义 static-path-pattern: /we/**,则访问static-locations里目录时都应加上”/we/”
spring.mvc.static-path-pattern 只可以定义一个,目前不支持多个逗号分割的方式,
此方法直接写在代码内,同方法一一样,可以覆盖默认配置,添加自定义映射配置,也可以只添加自定义映射配置,不覆盖默认配置。方法二比之方法一更为灵活。
http://www.zslin.com/web/article/detail/23
http://blog.csdn.net/catoop/article/details/50501706
诉求:Spring Boot 默认为我们提供了静态资源处理,而有时我们需要自定义资源映射,可定义项目内部目录,也可定义外部目录。此处举例外部目录映射配置。
方法一:通过配置文件配置
在Springboot中可以直接在配置文件中覆盖默认的静态资源路径的配置信息:作用在application.yml或application.properties
首先系统有默认配置,其中默认配置的 /** 映射到 /static (或/public、/resources、/META-INF/resources)
默认大概意思如下所示(为了和下面进行对比): spring: mvc: static-path-pattern: /** resources: static-locations: classpath:/META-INF/resources/,classpath:/resources/, classpath:/static/, classpath:/public/
定义 static-path-pattern: /** ,会覆盖默认配置,需要在static-locations添加默认的内部目录和自定义目录,应为
添加自定义外部目录并覆盖默认 spring: mvc: static-path-pattern: /** http: multipart: location: F://preview resources: static-locations: classpath:/META-INF/resources/,classpath:/resources/, classpath:/static/, classpath:/public/, file:${spring.http.multipart.location}
如果定义 static-path-pattern: /we/**,则访问static-locations里目录时都应加上”/we/”
spring.mvc.static-path-pattern 只可以定义一个,目前不支持多个逗号分割的方式,
方法二:通过@Configuration配置
@Configuration public class ApplicationConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { /** * 如果我们将/xxxx/** 修改为 /** 与默认的相同时,则会覆盖系统的配置,可以多次使用 addResourceLocations 添加目录, * 优先级先添加的高于后添加的。 * * 如果是/xxxx/** 引用静态资源 加不加/xxxx/ 均可,因为系统默认配置(/**)也会作用 * 如果是/** 会覆盖默认配置,应用addResourceLocations添加所有会用到的静态资源地址,系统默认不会再起作用 */ registry.addResourceHandler("/**") .addResourceLocations("classpath:/META-INF/resources/") .addResourceLocations("classpath:/resources/") .addResourceLocations("classpath:/static/") .addResourceLocations("classpath:/public/"); registry.addResourceHandler("/we/**").addResourceLocations("file:F:/preview/"); super.addResourceHandlers(registry); } }
此方法直接写在代码内,同方法一一样,可以覆盖默认配置,添加自定义映射配置,也可以只添加自定义映射配置,不覆盖默认配置。方法二比之方法一更为灵活。
相关文章推荐
- Spring boot 默认静态资源路径与手动配置访问路径的方法
- Spring boot 默认静态资源路径与手动配置访问路径的方法
- springboot、springcloud之静态资源路径的配置
- Springboot 之 静态资源路径配置
- spring boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- springboot、springcloud之静态资源路径的配置
- spring-boot 加载本地静态资源文件路径配置
- Springboot 之 静态资源路径配置
- springboot下配置resource路径下的静态资源
- spring-boot 加载本地静态资源文件路径配置
- spring-boot配置外部静态资源的方法
- spring-boot 加载本地静态资源文件路径配置
- Springboot 之 静态资源路径配置
- spring-boot 加载本地静态资源文件路径配置
- Springboot配置静态资源url映射及对应的本地路径