SpringBoot默认路径
为什么会想到整理这个,我见过很多人包括经验老道的程序员,特别是萌新,都会经常头疼哪些路径是SpringBoot默认能识别到的,哪些路径又是需要开发者自行去进行相应配置的。于是乎就开始搜google,baidu来查答案,有些能查到还好,有一些可能因为关键字不合适而耗费大量时间进行甄别。
因此就有了这一篇简短的文章,来帮助大家整理SpringBoot的默认路径
(一)静态资源
传统的Java Web项目,一般是新建一个WebContent目录,然后所有页面,js等静态资源都放在里面。但是在SpringBoot的规范里,不需要这么做
- /src/main/resource/static/ 一般用于存放静态资源(css,js,image等)
- /src/main/resource/public/ 一般用于存放页面
- /src/main/resource/templates/ 用于存放页面,一般是thyleleaf、FreeMaker、Velocity、JSP等 (注意,这个需要引入thymeleaf相关依赖,详情可以查看这篇文章)
- classpath:/META-INF/resources/
- classpath:/resources/
- src/main/webapp/ 有的人习惯性新建一个跟java,resource同级的目录专门用于开发前端。不过需要注意的是,一般如果你是用jsp进行前端开发的话,是需要在SpringBoot中创建一个标准的webapp文件夹的。貌似jsp放在/templates下是无法正常识别
具体可查询ResourceProperties类下的CLASSPATH_RESOURCE_LOCATIONS变量,里面设置了默认的路径
一定要注意你使用的前端语言,以及SpringBoot版本(目前1和2有很多差异)。路径不是一尘不变的
可参考https://www.cnblogs.com/web424/p/6755975.html
(二)日志文件
SpringBoot默认能识别的日志文件命名格式, SpringBoot建议我们使用 -spring的文件名,因为这样的配置文件,SpringBoot能够为其支持新特性 例如在日志文件中,可以用<SpringProfile>来支持根据不同环境使用不同的日志
- Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
- Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
- Log4j2:log4j2-spring.xml, log4j2.xml
- JDK (Java Util Logging):logging.properties