# scrm-cluerecord-pull-service **Repository Path**: caychen/scrm-cluerecord-pull-service ## Basic Information - **Project Name**: scrm-cluerecord-pull-service - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-03 - **Last Updated**: 2022-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Spring Boot项目通用模版 项目整体继承`software-boot-starter-parent` > 由`software-boot-starter-parent`进行一些通用jar包依赖版本的管理; > > 通过引入`software-boot-starter-XXX`扩展组件; > > 通过依赖`scrm-common`中来扩展项目其他公共的功能; > > 参考地址:`https://wiki.nx-code.com/pages/viewpage.action?pageId=44436059` ```xml com.software.boot software-boot-starter-parent XXX ``` ### 目录结构介绍 项目结构如下: |->java |->filter: 过滤器层,对http进行协议级别的过滤 |->controller: 请求处理层,响应用户请求,只处理vo和entity |-->vo: http数据结构体,面向http协议的数据传输 |-->request:请求数据结构体,extends BaseRequest |-->response:请求数据结构体,extends BaseResponse |-->assembler: 适配器,负责vo<->entity、entity<->po的转换和必要的参数检查 |->service: 业务逻辑处理层,只处理po和entity,不感知vo的存在 |-->impl: 业务实现类 |->repository: 存储处理层,封装底层数据,只处理po和entity,不感知vo的存在 |-->impl: 存储实现类 |->dao: 数据访问层,与底层数据库进行数据交互 |-->mapper: 与服务自身的数据库进行数据交互 |-->cache: 与服务自身的缓存进行数据交互 |-->feign: 与内网环境依赖的服务进行接口交互(后续内网交互考虑使用rpc代替) |-->http: 与外网环境依赖的服务进行接口交互 |-->es: 与ES数据库进行数据交互 |-->mongo: 与mongo数据库进行数据交互 |-->...... |->entity: 数据实体,定义需要服务自身维护的数据实体 |-->domain: entity对象,定义需要服务自身维护的数据实体,有实体自己的行为 extends PO |-->po: 持久化对象,和数据库一一对应 |->value: 数据实体,定义需要只读型非服务自身维护的数据实体 extends BaseEntity |-->contants: 常量数据对象 |-->enums: 枚举类型 |-->exception: 自定义异常类型implements IError |-->utils: 工具类 |->config: 配置目录,存放配置文件类 |->resource:资源文件 |-->mapper: 存放Mybatis mapper对象 |-->bootstrap.properties:启动配置文件 |-->logback.xml: 日志文件 |->.gitignore: git忽略文件 |->Dockerfile: Docker容器运行文件 |->pom.xml: Maven的pom文件 |->README.md: 微服务说明文档 注:mvc结构有明确的分层和向下依赖,尽量避免在项目内出现common、util等有可能破坏项目垂直依赖关系的结构