Springboot项目的目录结构

06-01 1098阅读

src/main/java: 存放Java源代码文件。

        com.项目名.demo: 项目的基础包。

1. Controller 层 (控制器层)

  • ​​位置​​: com.xxx.controller
  • ​​职责​​: 处理 HTTP 请求,接收前端参数,调用 Service 层处理业务逻辑,返回响应
  • ​​特点​​:
    • 使用 @RestController 或 @Controller 注解
    • 方法上使用 @GetMapping, @PostMapping 等注解
    • 应保持简洁,只做参数校验和结果封装

      2. Service 层 (服务层)

      • ​​位置​​: com.xxx.service (接口) 和 com.xxx.service.impl (实现)
      • ​​职责​​: 处理业务逻辑,组合多个 DAO 操作
      • ​​特点​​:
        • 接口定义在 service 包
        • 实现类放在 service.impl 包
        • 使用 @Service 注解
        • 可进行事务管理 (@Transactional)

          3. Repository/DAO/Mapper 层 (持久层)

          • ​​位置​​:
            • JPA: com.xxx.repository
            • MyBatis: com.xxx.mapper
            • 通用: com.xxx.dao
            • ​​职责​​: 直接与数据库交互,执行 CRUD 操作
            • ​​特点​​:
              • JPA 使用 @Repository 接口继承 JpaRepository
              • MyBatis 使用 @Mapper 接口配合 XML
              • 只包含最基本的数据库操作

                4. Domain/Entity 层 (实体层)

                • ​​位置​​: com.xxx.domain 或 com.xxx.entity
                • ​​职责​​: 与数据库表对应的实体类
                • ​​特点​​:
                  • JPA 使用 @Entity 注解
                  • MyBatis 通常不需要注解
                  • 包含属性和基本的 getter/setter

                    5. DTO/VO/POJO 层 (数据传输对象)

                    • ​​位置​​:
                      • com.xxx.dto (数据传输对象)
                      • com.xxx.vo (视图对象)
                      • com.xxx.pojo (简单Java对象)
                      • ​​职责​​: 在不同层之间传输数据
                      • ​​区别​​:
                        • ​​DTO​​: 用于各层间的数据传输
                        • ​​VO​​: 专门为前端展示定制的数据对象
                        • ​​POJO​​: 最简单的Java对象,只有属性和getter/setter

                          6. 辅助结构

                          • ​​config​​: com.xxx.config

                            • 存放各种配置类,如 @Configuration 类
                            • 安全配置、Swagger配置、拦截器配置等
                            • ​​util/tools​​: com.xxx.util

                              • 存放工具类,如日期处理、字符串处理等
                              • 应设计为静态方法
                              • ​​exception​​: com.xxx.exception

                                • 自定义异常类
                                • 全局异常处理器 (@ControllerAdvice)
                                • ​​interceptor​​: com.xxx.interceptor

                                  • 拦截器实现类
                                  • 实现 HandlerInterceptor 接口
                                  • ​​constant​​: com.xxx.constant

                                    • 存放常量类
                                    • 如错误码、状态码等
                                    • ​​enumeration​​: com.xxx.enums

                                      • 存放枚举类
                                      • 如订单状态、用户类型等
                                      • ​​properties​​: com.xxx.properties

                                        • 自定义配置属性类
                                        • 配合 @ConfigurationProperties 使用
                                        • ​​result​​: com.xxx.result

                                          • 统一返回结果封装
                                          • 包含状态码、消息和数据

                                            src/main/resources: 存放资源文件。

                                                    static: 静态资源,如JS、CSS、图片。

                                                    templates: 模板文件,如Thymeleaf模板。

                                                    application.properties/yml: 应用配置文件。

                                            src/test/java: 存放单元测试代码。

                                            Springboot项目的目录结构
                                            (图片来源网络,侵删)

                                            pom.xml: Maven构建文件,定义项目依赖和构建配置。Maven项目的配置文件,包含了项目的依赖管理和构建配置。通过配置pom.xml文件,可以定义项目的依赖关系、插件和构建过程。是Maven的项目描述文件,指定了当前工程为SpringBoot,并帮助我们声明了starter依赖的版本。同时,它还包含了项目的元数据(包名、项目名、版本号)以及指定的properties信息,例如指定Java的版本为1.8。

                                            .gitignore: Git忽略文件配置。

                                            Springboot项目的目录结构
                                            (图片来源网络,侵删)

                                            mvnw 和mvnw.cmd: Maven Wrapper文件,确保一致的Maven版本。

                                            HELP.md: 项目帮助文档。

                                            Springboot项目的目录结构
                                            (图片来源网络,侵删)

                                            src/main/webapp: 存放Web资源文件,部署War包时使用。

                                            target/: 存放编译后的文件,如.class文件和JAR包。

                                            Dockerfile: 如果项目需要容器化部署,这个文件用于创建Docker镜像。

                                            README.md: 项目的README文件,通常包含项目说明、构建步骤和使用方法。

                                            LICENSE: 项目的许可证文件,说明项目的版权信息和使用条款。

                                            .mvn/wrapper/: 包含Maven Wrapper的配置文件和jar包。

                                            src/main/docker: 存放与Docker相关的文件,如组成Docker镜像的脚本。

                                            src/main/scripts: 存放项目相关的脚本文件,如数据库迁移脚本。

                                            src/main/assembly: 存放Maven Assembly插件的配置文件,用于项目打包。

                                            src/main/resources/archetype-resources: 如果项目是一个Maven原型,这里存放原型的资源文件。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码