Spring Boot2的静态资源路径

快速体验访问静态资源

在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。

发布了28 篇原创文章 · 获赞 1 · 访问量 1863

猜你喜欢

转载自blog.csdn.net/m0_46130323/article/details/104167635