默认Springboot将从如下位置按如下优先级(从高到低)加载jar包对应前端静态资源:
1.jar包同级static目录
2.jar包同级public目录
3.jar包同级resource目录
4.jar包/META-INF/resources
在调试模式下,Springboot将从class目录中按如下优先级(从高到低)加载对应前端静态资源
1.class目录下static目录
2.class目录下public目录
3.class目录下resource目录
4.class目录下/META-INF/resources
通过设置spring.resources.static-locations自定义Spring boot加载前端静态资源路径
spring.resources.static-locations: file:D:/public/
亦可以指定先后顺序:
spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resource
如果指定了拦截器,该属性有可能失效
需要在拦截器ResourceHandlerRegistry中通过addLocations()指定对应路径。
如果指定@EnableWebMvc注解也会导致spring.resources.static-locations失效。如果使用@EnableWebMvc,会自动覆盖原有静态文件目录为src/main/webapp,如果要指定原静态文件目录,需重写addResourceHandlers方法
本文详细介绍了Springboot在不同模式下加载前端静态资源的默认路径及优先级,包括jar包内的static、public、resource目录以及/META-INF/resources等。同时,文章提到了如何通过`spring.resources.static-locations`自定义加载路径,以及在启用@EnableWebMvc注解和配置拦截器时的影响。读者将了解到如何精确控制Springboot应用中静态资源的管理。
5248

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



