本小节,主要介绍一下 SpringBoot 目录结构 及静态文件加载。
1. SpringBoot 目录结构,每层及的作用是什么?
2. SpringBoot 2.x 静态文件是如何加载的, 访问html, js, css 这些静态文件的时候,应该如何访问?
静态文件配置(官网参考链接): https://docs.spring.io/spring-boot/docs/2.1.4.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-static-content
SpringBoot 目录结构
src/main/java:存放代码
src/main/resources
static: 存放静态文件,比如 css、js、image, (访问方式 http://localhost:8080/js/main.js)
templates:存放静态页面jsp,html,tpl
config:存放配置文件,application.properties
resources:
SpringBoot2.x 静态文件访问
Spring Boot 默认会挨个从
META/resources > resources > static > public 里面找是否存在相应的资源,如果有则直接返回。
-
SpringBoot 优点之一就是它采用了“习惯优于配置”的设计范式,如果我们有一个好的习惯,那么我们将省掉很多力气,不用我们再自己去配置。 比如: 这个地方,我们把html 这些静态文件,放到static 目录下,那么默认就是可以直接访问的, 比如: http://localhost:8080/js/main.js
-
同时,如果我们想要自定义目录,当然也是可以实现的,通过简单的配置,告诉springboot, 扫描那些目录,作为静态文件的目录。配置如下:
# 我们可以通过这条配置,来自定义静态资源路径。
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
补充: 当然静态文件,我们一般建议是放在 CDN上的。