静态资源加载路径:
根据默认原则,脚本样式、图片等静态文件应该放置在src - main -resources-static下,诸如Bootstrap和jQuery的一些类库都可以放在这里面;
至于我们前台要演示的页面通常默认是放置在src - main -resources-templates下,例如index.html等。
那除了上面这么路径Spring boot还会加载哪些路径的文件那,它的源码可以看出来:
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/" };
即spring boot默认加载文件的路径是
/META-INF/resources/
/resources/
/static/
/public/
所有本地的静态资源都配置在了classpath下面了, 而非在webapp下了
Idea和Maven资源路径说明:
了解下InteliJIdea和Maven项目的一些资源路径说明:
- Sources:一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。
- Tests:一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,顶级目录是 src,maven 的 src 我们是不会设置为 Sources 的,而是在其子目录 main 目录下的 java 目录,我们会设置为 Sources。而单元测试的目录是 src - test - java,这里的 java 目录我们就会设置为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比较彻底的。
- Resources:一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,这里的 resources 目录我们就会设置为Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
- Test Resources: 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,这里的 resources 目录我们就会设置为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
- Excluded:一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。