Spring Boot 服务端开发项目目录结构
后端服务器的组成: pom.xml(Maven项目配置文件) + java文件夹 + resource文件夹
- 代码层(java),根目录com.xxx: XxxApplication.java + 对应模块代码(domain + controller + service + mapper等)
- XxxApplication.java(项目主入口,main方法)
- controller: 控制层,请求接口
- service: 服务层,逻辑代码, 数据服务的实现接口(serviceImpl)UserService.java 和 UserServiceImpl.java
- mapper: 数据层,或者dao, 比如UserMapper.java 、UserMapper.xml
-
domain: 实体类,同 bean、entity、model
bean: 任何一个java类都可以成为一个bean,这个类里包含对象的属性、get、set方法及其他的业务逻辑。
model: model是MVC中的概念,可以理解为View层展示数据的对象。
entity:数据表对应到实体类的映射。
- 资源层(resource):存放资源文件,比如邮件html、mapper
- email邮件模板,比如registerSuccess.html
- properties配置文件,比如mybatis.properties
- mapper文件,比如UserMapper.xml(也可以写到代码层的mapper文件夹中)
- template模板
- application.yml
- log4j2.xml日志配置
// 根目录结构 -src: -main: -java: - com.xxx -resource: - -test: -target: -pom.xml
- src/main/java: 代码文件目录
- src/main/resource: 资源文件目录
- pom.xm:Maven项目配置文件
// java代码文件目录: 文件目录按如下进行规范命名 -java: -com.xxx: -entity -controller -service -mapper -util -XxxApplication.java
- entity:实体类,也可以命名为bean、entity、model,例如User.java
- controller: 控制层,请求接口,例如UserController.java
- service: 服务层,以及关联的接口文件,例如UserService.java(impl/UserServiceImpl.java)
- mapper: 数据层,也可以命名为dao,例如UserMapper.java和UserMapper.xml
- model: 请求使用到的实体类: xxxRequestTO.java、xxxReponseTO.java
- config、constant、util等配置文件
- XxxApplication.java : 项目主入口,main方法
// resource资源文件目录 -resource: -mapper -static -template -application.yml
- application.yml: 配置文件,也可命名为application.properties
// 数据库配置 -- application.yml spring: datosource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/dataBaseName?userUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 username: youMysqlUsername password: yourMysqlPassword
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了