项目介绍
1. 技术选型
1.1 核心框架
- SpringBoot 2.3.0.RELEASE
- SpringCloud Hoxton.SR6
- SpringCloud Alibaba 2.1.1.RELEASE
- nacos (注册中心 | 配置中心)
- sentinel (限流熔断)
- seata (分布式事务——可选)
- SpringSecurity 5.3.2
- Spring WebMvc
- 数据持久层框架
- mybatis plus
- 三方服务
2. 系统架构图
3. 环境地址
| 名称 | 地址 | 备注 |
|---|---|---|
| MySQL | 192.168.30.4:3306 | 用户名/密码:root/Ams_2020
|
| Redis | 192.168.30.20:6379 | |
| Nacos | 192.168.30.20:8848 | 用户名/密码:nacos/nacos ——(ZMUU_IP) |
| SVN | 192.168.30.4:8443/svn/java-rms | |
| MQ | XXX.XXX.XXX.XXX | 开发到了在补充 |
| FILE | XXX.XXX.XXX.XXX | 开发到了在补充 |
| ELK | XXX.XXX.XXX.XXX | 开发到了在补充 |
4. 后端服务
4.1 系统服务
| 项目名称 | 说明 | 端口 |
|---|---|---|
| 注册中心服务 | 使用nacos | 默认8848 |
| 配置中心服务 | 使用nacos | 默认8848 |
| rms-gateway | 网关服务 | 8080 |
| rms-auth | 认证中心服务 | 8081 |
| sentinel控制台 | 限流熔断监控中心 | 8082 |
4.2 业务服务
| 项目名称 | 说明 | 端口 |
|---|---|---|
| rms-core | 档案核心业务服务 | 9090 |
| rms-base | 系统基础信息服务 | 9091 |
| rms-file | 文件服务 | 9092 |
| rms-flow | 工作流服务 | 9093 |
| rms-xxx | 其他服务待拆分(搜索...) | todo |
5. 目录结构
5.1 全局服务目录
rms
│
├─rms-auth //认证服务
│
├─rms-common //公共模块
│ ├─rms-common-cache //缓存模块
│ ├─rms-common-core //核心模块
│ ├─rms-common-log //日志模块
│ ├─rms-common-mybatis //mybtais配置
│ ├─rms-common-security //安全模块
│ └─rms-common-swagger //swagger配置
│
├─rms-gateway //网关服务
│
├─rms-modules //业务服务
│ ├─rms-base //系统服务
│ ├─rms-core //核心服务
│ ├─rms-file //文件服务
│ └─rms-flow //流程服务
│ └─rms-xxx //其他业务服务
│
├─rms-modules-api //服务接口模块--对应业务服务
│ ├─rms-base-api //系统接口模块
│ ├─rms-core-api //核心接口模块
│ └─rms-file-api //文件接口模块
│
└─pom.xml //全局pom文件(依赖版本控制)
5.2 详细模块目录
5.2.1 公共模块
rms-common-core
│
├─src
│ ├─main
│ │ ├─java
│ │ │ └─com.rms.common.core
│ │ │ ├─constant //公共常量定义
│ │ │ ├─enums //公共枚举定义
│ │ │ ├─exception //公共异常--controller层异常、service层异常
│ │ │ ├─model //公共模型
│ │ │ └─util //公共工具类
│ │ └─resources
│ │ └─META-INF //springboot启动需要被扫描的组件
│ └─test
│ └─java //单元测试
└─ pom.xml //依赖管理
5.2.2 业务模块
以rms-base rms-base-api基础系统服务为例说明业务模块目录结构
rms-base
│
├─src
│ ├─main
│ │ ├─java
│ │ │ └─com.rms.base //包:命名com.rms.模块名称
│ │ │ ├─annotation //自定义注解(非必须)
│ │ │ ├─aspect //切面(非必须)
│ │ │ ├─controller //controller层
│ │ │ ├─constant //常量
│ │ │ ├─enums //枚举
│ │ │ ├─mapper //mapper接口
│ │ │ └─service //业务接口
│ │ │ └─impl //业务实现
│ │ │ └─RmsBaseApplication.java //服务启动类
│ │ └─resources //资源服务目录(spring.yml配置文件、日志等)
│ │ ├─mapper //mapper-xml文件
│ │ └─META-INF //springboot启动需要被扫描的组件
│ └─test //测试目录
│ └─java //在该目录下创建创建包,单元测试类
└─ pom.xml //本模块依赖及打包方式等
服务模块所使用到的数据实体定义到相应的xxx-xxx-api模块中(为其他业务模块提供本模块api)
rms-base-api
├─src
│ └─main
│ ├─java
│ │ └─com.rms.base.api
│ │ ├─dto //数据传输对象
│ │ ├─entity //数据库实体
│ │ ├─feign //feign远程调用接口
│ │ └─vo //展示对象
│ └─resources
│ └─META-INF //springboot启动需要被扫描的组件
└─pom.xml
⚾️环境要求
1. 准备工作
- JDK: 1.8+
- Maven: 3.3+
- MySQL: 5.7+
- IntelliJ IDEA | eclipse
2. IDEA插件
- lombok(必装)
- MyBatisX (选装)
3. 软件安装
3.1 IDEA安装
详情参见软件安装包中idea文件夹,内附安装及破解教程。
3.2 JDK安装配置
运行软件安装包下jdk-8u221-windows-x64下一步即可,安装完成后需修改配置文件:
- 新创建环境变量:
JAVA_HOME=jdk安装目录CLASSPATH=%JAVA_HOME%\lib\tools.jar - 编辑Path变量添加:
%JAVA_HOME%\bin%JAVA_HOME%\jre\bin
3.3 MAVEN安装
- 解压软件安装包目录下的
apache-maven-3.5.3-bin文件,解压后打开conf\settings.xml文件 - 搜索
<localRepository>标签,替换标签内的内容为自己本机的磁盘目录(存储远程仓库下载的jar包)
3.4 IDEA离线安装插件
IDEA导航栏选择file -> settings 搜索 plugins,点击齿轮图标选择Install Plugin from Disk... 选择lombook.jar
3.5 NACOS安装(选装)
解压nacos-server-1.4.0安装,修改conf\application.properties文件,结尾添加如下属性:
### 数据库配置 ###
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=username
db.password=password
application.properties配置文件其他属性说明
server.servlet.contextPath=/nacos #项目访问路径前缀
server.port=8848 #访问端口(8848珠峰高度),可以自己指定
启动
- 双击执行解压后nacos文件夹下
bin\startup.cmd(默认集群方式) -
startup.cmd -m standalone单机模式启动 (✔)
访问路径:127.0.0.1:8848/nacos 默认用户名/密码:nacos/nacos
4. 软件安装包说明
| 文件名 | 备注 |
|---|---|
| idea | idea安装包(含破解教程) |
| RedisDesktopManager | redis可视化工具 |
| apache-maven-3.5.3-bin | maven仓库 |
| jdk-8u221-windows-x64 | jdk安装 |
| lombok | lombok插件(idea版) |
| nacos_config | nacos配置文件(启动nacos服务后通过web控制台导入) |
| nacos-server-1.4.0 | nacos注册中心|配置文件中心 |
| powerdesigner | 数据库表结构设计 |