Spring Boot项目前端代码:存于src/main/frontend还是src/main/resources?
Spring Boot项目存放前端代码的规范做法
在Spring Boot项目里存放Angular、React这类前端代码,没有绝对统一的标准,但有两种主流实践方式,具体选哪种看你的项目情况:
1. 在src/main下单独创建frontend文件夹存放
这种方式适合前后端独立开发、独立构建的场景——比如前后端团队分开协作,前端用自己的脚手架(Angular CLI、Create React App)单独调试打包。
- 好处:前后端代码彻底分离,目录结构清晰,各自遵循自身框架的规范,不会互相干扰。前端还能单独启动开发服务器调试,无需依赖Spring Boot启动,开发效率更高。
- 后续处理:前端构建完成后,把生成的静态文件(比如
dist或build目录内的内容)复制到Spring Boot的src/main/resources/static或src/main/resources/public目录;也可以借助Maven的frontend-maven-plugin或Gradle的node-gradle-plugin自动完成这一步,省去手动操作的麻烦。
2. 直接放在src/main/resources下(通常是static或public子目录)
这种方式适合项目规模较小、前后端由同一团队维护,或者前端仅为简单静态页面、不需要复杂构建流程的情况。
- 好处:项目结构更紧凑,所有代码都在Spring Boot的标准目录内,部署时直接打包成一个JAR包即可,无需额外做构建同步操作。
- 注意:如果前端需要构建(比如用Angular/React脚手架),直接放这里会导致源码和构建产物混在一起,不利于维护,因此这种方式更适合无需构建的静态前端代码。
额外建议
如果是Spring Boot搭配现代前端框架的全栈项目,更推荐第一种src/main/frontend的方式——它更符合当下前后端分离的开发模式,后续扩展和维护也更便捷。
内容的提问来源于stack exchange,提问作者user21037376
相关产品推荐
相关产品推荐

