-
Notifications
You must be signed in to change notification settings - Fork 176
工程结构说明
李昌文 edited this page Nov 11, 2018
·
6 revisions
每一个业务不太相关的功能都拆分成了子工程:
-
减少耦合度 拆分开放到不同模块能减少代码上的耦合度,每个模块有什么依赖都可以在pom中看到
-
可以打包在一起运行 可以在one-main中引入其他业务模块的代码,打包为一个Spring Boot应用单独运行
-
可以单独运行:
- 开发的时候one-main工程由于打包了所有代码,每次改动代码热更新要的时间稍长。
- 新开发的业务工程单独作为一个Spring Boot工程启动,这样热更新很快。开发完毕再将新的业务工程引入到one-main工程中打包一起运行。
- 也可以在各个业务工程中添加Spring Boot Main Class,每个业务工程单独作为Spring Boot应用运行。
-
Redis管理Session: 目前是用Redis来管理Session,每个工程单独运行也能获取当前登录用户的信息
项目文件夹结构如下:
├─one-main
├─one-entity
├─one-db-init
├─one-login
├─one-login-common
├─one-login-web
├─one-login-weixin
├─one-file-server
├─one-notify
├─one-sys
├─one-ui
├─one-user
├─one-util
├─one-workflow
├─one-weixin
└─one-code-gen
-
one-main 整个系统的入口工程,其他模块都打包到one-main里面运行,包含:Spring Boot启动类、整个系统的Configuration、全局异常处理等
-
one-util 一些公共的方法以及公共的类
-
one-entity 数据库实体类、实体类对应的枚举
-
one-db-init 数据初始化工程,用于首次运行的时候初始化数据
-
one-user 用户相关工程
-
one-sys 系统管理工程
-
one-notify 通知类工程(邮件、短信、微信、系统消息等)
-
one-login 登录工程,拆分成以下三个工程:
- one-login-common:登录公共工程
- one-login-web:PC端登录工程
- one-login-weixin:微信端登录工程
-
one-code-gen 代码生成,目前代码生成可以由实体类生成后端代码和部分前端代码。
- 后端:Bean、Dao、Service、RestController
- 前端:api、列表页面(vue)、详情页面(vue)、路由
-
one-workflow 工作流相关封装:
- 可以记录以及查看审核日志
- 可以指定每个节点的审核人(根据机构、角色、用户、代码自定义等方式)
- 可以查看审核流程图
-
one-file-server 文件存储服务,用于文件上传以及文件下载的处理。目前提供了以下几种方式:
- 本地存储(local):将文件存储在本地硬盘上
- 阿里云存储(oss):将文件直接存储在阿里云OSS上
- 本地临时存储+阿里云永久存储(local-oss):先将文件存储在本地硬盘上,在服务器空闲的时候将数据迁移到到阿里云OSS服务器上。
-
one-weixin(暂未公布) 处理微信端相关代码的工程,是微信端登录的主入口,类似于one-main(PC端主入口)
-
one-ui WebUI工程,放置WEB前端代码的工程
-
one-ui-wx(暂未公布) 微信UI工程,放置微信前端代码的工程