Blame view

springboot/README.md 6.6 KB
88e030b7   王彪总   init project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
  # SpringBoot 主启动模块
  
  ## 模块概述
  
  SpringBoot模块是MicroCommunity社区管理系统的Spring Boot版本主启动模块,负责整合所有业务服务模块并提供统一的启动入口。该模块采用Spring Boot框架,集成了社区管理、用户管理、财务管理、订单管理、报表统计等12个核心业务模块,提供完整的社区管理解决方案。
  
  ## 技术架构
  
  ### 核心框架
  - **Spring Boot 2.x**: 主框架,提供快速应用开发能力
  - **Spring MVC**: Web MVC框架
  - **Spring Cloud**: 微服务支持(可选)
  - **MyBatis**: 数据持久层框架
  - **Druid**: 数据库连接池
  
  ### 数据库支持
  - **MySQL**: 主数据库
  - **Redis**: 缓存数据库
  
  ### 其他技术组件
  - **WebSocket**: 实时通信支持
  - **Thymeleaf**: 模板引擎
  - **Quartz**: 定时任务调度(已完全注释,需手动启用)
  - **Activiti**: 工作流引擎(已排除自动配置)
  
  ## 功能说明
  
  ### 集成业务模块
  本模块集成了以下12个核心业务模块:
  - **service-acct**: 账户管理模块
  - **service-common**: 通用服务模块
  - **service-community**: 社区管理模块
  - **service-dev**: 开发工具模块
  - **service-fee**: 费用管理模块
  - **service-job**: 任务调度模块
  - **service-oa**: 办公自动化模块
  - **service-order**: 订单管理模块
  - **service-report**: 报表统计模块
  - **service-store**: 商户管理模块
  - **service-user**: 用户管理模块
  - **service-scm**: 供应链管理模块
  
  ### 核心功能特性
  1. **统一启动入口**: 提供BootApplicationStart主启动类
  2. **命令驱动架构**: 支持命令发现和事件发布机制
  3. **API文档自动生成**: 集成API文档自动发现功能
  4. **多环境配置**: 支持debug、dev等多环境配置
  5. **缓存管理**: 集成Redis缓存和缓存刷新机制
  
  ## 配置说明
  
  ### 数据库配置
  ```yaml
  spring:
    datasource:
      url: jdbc:mysql://192.168.31.250:3306/TT?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false
      username: TT
      password: hc12345678
      type: com.alibaba.druid.pool.DruidDataSource
      driver-class-name: com.mysql.cj.jdbc.Driver
  ```
  
  ### Redis配置
  ```yaml
  spring:
    redis:
      database: 0
      host: 127.0.0.1
      port: 6379
      password: hc
  ```
  
  ### 服务器配置
  ```yaml
  server:
    port: 8008
    tomcat:
      uri-encoding: UTF-8
  ```
  
  ### FTP文件服务配置
  ```properties
  java110.ftpServer = 121.4.123.73
  java110.ftpPort = 6069
  java110.ftpUserName = hcftp
  java110.ftpUserPassword = 123456
  ```
  
  ## 部署指南
  
  ### 环境要求
  - **JDK**: 1.8+
  - **Maven**: 3.5+
  - **MySQL**: 5.7+
  - **Redis**: 3.2+
  
  ### 构建步骤
  1. 克隆项目到本地
  2. 配置数据库连接信息
  3. 执行Maven构建命令:
     ```bash
     mvn clean package spring-boot:repackage -Dmaven.test.skip=true
     ```
  4. 运行生成的JAR文件:
     ```bash
     java -jar target/MicroCommunityBoot.jar
     ```
  
  ### 启动参数
  - `-Dcache`: 启动时强制刷新缓存
  - **自动缓存检测**: 系统启动时会自动检测Redis中是否存在`java110_hc_version`缓存键,如果不存在会自动触发缓存刷新
  - 默认端口: 8008
  
  ### 多环境部署
  - **开发环境**: 使用application-dev.yml配置
  - **调试环境**: 使用application-debug.yml配置(默认)
  - **生产环境**: 可创建application-prod.yml配置
  
  ## API接口
  
  ### 命令接口
  模块采用命令驱动架构,支持以下业务域的API接口:
  
  #### 账户管理接口 (com.java110.acct.cmd)
  - 账户查询、资金管理、交易记录等命令接口
  
  #### 通用服务接口 (com.java110.common.cmd)
  - 系统配置、字典管理、文件上传等通用接口
  
  #### 社区管理接口 (com.java110.community.cmd)
  - 社区信息、楼栋管理、房屋管理等接口
  
  #### 开发工具接口 (com.java110.dev.cmd)
  - 缓存管理、系统监控等开发工具接口
  
  #### 费用管理接口 (com.java110.fee.cmd)
  - 费用设置、账单管理、缴费记录等接口
  
  #### 任务调度接口 (com.java110.job.cmd)
  - 定时任务管理、任务执行监控等接口
  
  #### 办公自动化接口 (com.java110.oa.cmd)
  - 流程审批、公文管理等OA接口
  
  #### 订单管理接口 (com.java110.order.cmd)
  - 订单创建、状态管理、支付处理等接口
  
  #### 报表统计接口 (com.java110.report.cmd)
  - 数据统计、报表生成、分析图表等接口
  
  #### 商户管理接口 (com.java110.store.cmd)
  - 商户入驻、商品管理、库存管理等接口
  
  #### 用户管理接口 (com.java110.user.cmd)
  - 用户注册、登录认证、权限管理等接口
  
  #### 供应链管理接口 (com.java110.scm.cmd)
  - 供应商管理、采购订单、库存管理等接口
  
  ### REST接口
  模块还提供REST风格的API接口,位于`com.java110.boot.rest`包中,支持:
  - HTTP/HTTPS协议
  - JSON数据格式
  - 统一的错误处理机制
  - API文档自动生成
  
  ## 依赖关系
  
  ### 核心依赖
  - `java110-boot`: 核心启动框架
  - `java110-service`: 基础服务框架
  - `spring-boot-starter-websocket`: WebSocket支持
  - `spring-boot-starter-thymeleaf`: 模板引擎
  
  ### 业务模块依赖
  本模块集成了以下12个核心业务模块:
  - `service-acct`: 账户管理模块
  - `service-common`: 通用服务模块  
  - `service-community`: 社区管理模块
  - `service-dev`: 开发工具模块
  - `service-fee`: 费用管理模块
  - `service-job`: 任务调度模块
  - `service-oa`: 办公自动化模块
  - `service-order`: 订单管理模块
  - `service-report`: 报表统计模块
  - `service-store`: 商户管理模块
  - `service-user`: 用户管理模块
  - `service-scm`: 供应链管理模块
  - `service-api`: API接口模块
  
  ### 依赖管理说明
  **重要架构设计**: 所有业务模块均排除了`java110-service`依赖,避免重复依赖冲突
  - **依赖排除配置**: 在pom.xml中每个业务模块dependency都配置了exclusions排除java110-service
  - **架构优势**: 采用集中式服务依赖管理,确保依赖版本一致性
  - **构建优化**: 避免重复依赖,减少构建包大小,提高构建效率
  
  ## 注意事项
  
  1. **缓存刷新**: 系统支持两种缓存刷新方式:
     - **自动检测**: 启动时自动检测Redis中`java110_hc_version`缓存键,不存在时自动刷新
     - **强制刷新**: 使用`-Dcache`参数强制刷新缓存,适用于首次启动或配置变更
  2. **数据库初始化**: 确保数据库已正确初始化并包含必要的表结构
  3. **Redis连接**: 确保Redis服务正常运行且配置正确
  4. **文件上传**: 文件上传大小限制为100MB,可在配置中调整
  5. **多环境切换**: 通过修改`spring.profiles.active`切换运行环境
  
  ## 技术支持
  
  如有技术问题,请联系开发团队或查阅相关技术文档。