# springcloud **Repository Path**: whl-jar/springcloud ## Basic Information - **Project Name**: springcloud - **Description**: 微服务基础架构 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2021-08-04 - **Last Updated**: 2023-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # springcloud #### 平台简介 此项目是为了巩固知识,学习新技术所搭框架 * 采用前后端分离的模式,前端采用vue * 后端采用Spring Boot、Spring Cloud & Alibaba。 * 注册中心、配置中心选型Nacos,权限认证使用shiro。 * 关系型数据库采用mysql,缓存数据库采用redis #### 系统模块 ~~~ springcloud ├── ui // 前端框架 [80] ├── gateway // 网关模块 [8080] ├── auth // 认证中心 [9200] ├── api // 接口模块 │ └── api-system // 系统接口 ├── common // 通用模块 │ └── common-core // 核心模块 │ └── common-log // 日志记录 ├── modules // 业务模块 │ └── system // 系统模块 [9201] │ └── gen // 代码生成 [9202] ├── other // 其他文件 │ └── bin // 脚本 │ └── doc // 文档 │ └── docker // docker │ └── sql // sql ├──pom.xml // 公共依赖 ~~~ #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 代码规范 1. pom文件 - 根目录下pom文件`properties`标签放的是所有项目依赖版本号; - 根目录下pom文件`dependencies`标签放的是子模块公共依赖引用; - 子模块pom文件`dependencies`标签依赖引用不用写版本号 > 切记不要引用相同jar的不同版本,需要什么先看根目录下pom文件有没有定义 2. 实体类 - POJO:即简单Java对象,就是一个我们最常见的普通Java对象,这个概念是被大家叫出来的,它具有一些属性,然后提供对应的getter和setter。即不与数据库打交道的简单对象。 - VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。即和html、jsp等页面属性对应的java对象。 - DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。即提取数据库中所需要的的属性减少不需要的属性来提高传输速度、流量。 - Entity :entity里的每一个字段,与数据库相对应。 - Domain:即领域模型,银行、保险、电商、物流、医疗、DDD 领域驱动设计。 > 开发流程: 后端建立`Entity`对象和数据库字段进行对应,前端发送`VO`对象给后端,后端接收`VO`对象,与数据库进行交互时,将`VO`对象转化成`Entity`对象,数据库返回的数据是一个`Entity`对象,返回到前端的时候是一个`DTO`对象,`POJO`对象作为一个临时变量对象,`Domain`对象理解不太深,暂不使用,到用时再说。要进行网络传输的对象比如`Entity`、`VO`、`DTO`必须要`implements Serializable`实现序列化