快速体验访问静态资源
在resources下创建一个目录static,并在static目录下创建一个hello.js,内容为:
// hello resources/static
启动项目,访问localhost:8080/hello.js
可以看到我成功的访问到了static目录下的静态资源。
默认的静态资源路径
springboot2 自动化配置了静态资源的路径,自动化配置类WebMvcAutoConfiguration.java
在包org.springframework.boot.autoconfigure.web.servlet
下,
具体的源码片段:
其中标黄色高亮的this.resourceProperties.getStaticLocations()
就是获取配置的具体的路径,点进去可以看到资源路径配置类ResourceProperties
, 最终可以看到:
配置了4个静态资源的路径,其中就有classpath:/static/,所以上面的例子可以直接访问到static目录下的hello.js。
自定义静态资源路径
当我知道了springboot如何自动化配置静态资源路径之后,那么,自定义配置路径就比较简单了。
请注意类ResourceProperties
上的注解:
@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)
就是说我可以通过配置文件来定义静态资源路径,前缀为spring.resources,根据IDEA的智能提示,很容易补全代码。
这个时候,项目的静态资源路径就不再是默认的那4个了,而是我们配置的了,这时候在mystatic目录下创建一个测试文件hello.js,内容为:
// hello resources/mystatic
同样访问localhost:8080/hello.js
成功的访问到我自定义的资源路径下的hello.js。