SpringBoot项目目录结构(工程结构)

阿里巴巴Java开发手册见: https://gd.bajins.com/0:/Books/

一、代码层结构

根目录:com.bajins

领域模型的相关命名:DO/BO/DTO/VO/DAO

  • 启动类BajinsApplication.java推荐放在根目录com.bajins包下

  • 数据实体类domain

    • jpa项目: com.bajins.domain
    • mybatis项目: com.bajins.entity
  • 数据接口访问层Dao

    • jpa项目: com.bajins.repository
    • mybatis项目: com.bajins.mapper
  • 数据服务接口层Service:com.bajins.service

  • 数据服务接口实现层Service Implements:com.bajins.service.impl

  • 前端控制器层Controller:com.bajins.controller

  • 工具类库utils:com.bajins.utils

  • 配置类config:com.bajins.config

  • 数据传输对象dto:com.bajins.dto

数据传输对象Data Transfer Object用于封装多个实体类domain之间的关系,不破坏原有的实体类结构

  • 视图包装对象vo:com.bajins.vo

视图包装对象View Object用于封装客户端请求的数据,防止部分数据泄露如:管理员ID,保证数据安全,不破坏 原有的实体类结构

  • 常量类constant:com.bajins.constant

二、资源目录结构

根目录:resources

  • 项目配置文件:resources/application.yml

  • 静态资源目录:resources/static/

用于存放html、css、js、图片等资源

  • 视图模板目录:resources/templates/

用于存放jsp、thymeleaf等模板文件

  • mybatis映射文件:resources/mappers/

  • mybatis配置文件:resources/spring-mybatis.xml

三、mybatis项目结构示例

.
│  mvnw
│  mvnw.cmd
│  pom.xml
│  README.md
│  
└─src
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─bajins
    │  │          └─api
    │  │              │  BajinsApiApplication.java
    │  │              │      
    │  │              ├─config
    │  │              │  │  QuartzJob.java
    │  │              │  │  Swagger2.java
    │  │              │  │  TaskExecutorConfig.java
    │  │              │  │  
    │  │              │  └─websocket
    │  │              │          WebSocketConfig.java
    │  │              │          WebSocketHandler.java
    │  │              │          WebSocketInterceptor.java
    │  │              │          
    │  │              ├─constants
    │  │              │      WeChatConstants.java
    │  │              │      
    │  │              ├─mapper
    │  │              │      WechatLoginLogMapper.java
    │  │              │      WechatMsgMapper.java
    │  │              │      WechatUserOpenidMapper.java
    │  │              │      
    │  │              ├─domain
    │  │              │      WechatLoginLog.java
    │  │              │      WechatMsg.java
    │  │              │      WechatUserOpenid.java
    │  │              │      
    │  │              ├─service
    │  │              │  │  UserSignatureService.java
    │  │              │  │  WechatService.java
    │  │              │  │  WxMsgService.java
    │  │              │  │  
    │  │              │  └─impl
    │  │              │          WechatServiceImpl.java
    │  │              │          WxMsgServiceImpl.java
    │  │              │          
    │  │              ├─utils
    │  │              │  │  EmailUtil.java
    │  │              │  │  EncryptUtil.java
    │  │              │  │  StringUtil.java
    │  │              │  │          
    │  │              │  └─wechat
    │  │              │          SHA1.java
    │  │              │          WXBizMsgCrypt.java
    │  │              │          XMLParse.java
    │  │              │          
    │  │              ├─vo
    │  │              │      TemplateLibraryVO.java
    │  │              │      TemplateMessageVO.java
    │  │              │      
    │  │              └─controller
    │  │                      WechatController.java
    │  │                      WxMsgController.java
    │  │                      
    │  └─resources
    │      │  application.properties
    │      │  ehcache3.xml
    │      │  logback-spring.xml
    │      │  
    │      ├─mappers
    │      │      WechatLoginLogMapper.xml
    │      │      WechatMsgMapper.xml
    │      │      WechatUserOpenidMapper.xml
    │      │      
    │      ├─static
    │      └─templates
    └─test
        └─java
            └─com
                └─bajins
                    └─api
                            BajinsApiApplicationTests.java
                            
SpringBoot项目结构命名规范如下所示: 1. 最开始生成的目录: - .idea:存放项目的配置信息。 - .mvn:存放与mvnw相关文件,用于统一Maven版本管理。 - src:存放项目的源码和资源文件。 - target:存放项目构建后的文件和目录、jar包、war包、编译的class文件。 - .gitignore:git忽略规则。 - blog.iml:IntelliJ IDEA的工程配置文件。 - HELP.md:帮助文档。 - mvnw:与Linux执行mvnw命令有关。 - mvnw.cmd:与Windows执行mvnw命令有关。 - pom.xml:项目对象模型(核心重要)。 2. 标准开发级目录: - src/main:主目录。 - src/test:测试目录。 3. src/main目录下的子目录: - src/main/java:存放源代码文件。 - src/main/resources:存放各类静态资源文件、配置文件、页面文件等。 - src/main/resources/static:用于存放各类静态资源(css,js等)。 - src/main/resources/templates:用于存放模板文件(mappers等)。 - src/main/resources/application.properties:用于存放程序的各种依赖模块的配置信息。 4. src/test目录下的子目录: - src/test/java:存放测试代码文件。 5. MVC三层结构的文件夹描述: - dao(mapper):Dao层,负责与数据库打交道,具体到对某个表、某个实体的增删改查。 - service:服务层,封装Dao层的操作,使一个方法对外表现为实现一种功能。 - controller:业务控制层,负责接收数据和请求,并且调用Service层实现业务逻辑。 - service/Impl:服务层实现,service装的是接口,Impl装的是实现接口。 6. 必要层: - pojo:实体层。 7. 重要层: - utils:工具类。 - constant:常量接口类。 - config:配置信息类。 - vo:数据传输类。 综上所述,SpringBoot项目结构命名规范包括最开始生成的目录、标准开发级目录、MVC三层结构以及其他必要层和重要层的命名规范。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [springboot项目结构命名规范](https://blog.csdn.net/qq_51184516/article/details/126681931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值