springboot默认对外开放的静态资源路径
//类org.springframework.boot.autoconfigure.web.WebProperties.Resources
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"};
测试
我们在对应的位置创建相应的文件夹,并创建一个index.html,看会优先展示哪一个页面
启动项目
由此可以看出,优先展示的是/META-INF/resources/
第二步
删除META-INF/resources/,重启项目。查看页面。以此类推会发现,展示的顺序优先级为:
/META-INF/resources/ > resources > static > public
进阶问题
如果是自定义的static-locations,springboot默认的是否还会生效,如果生效,优先级又是怎么的?
验证问题
创建自定义static-locations页面
总结
启动运行发现,springboot默认的static-locations依然生效还会生效,加载优先级为:
自定义 > /META-INF/resources/ > resources > static > public