# 12306-SpringBoot **Repository Path**: foolish-y/12306-spring-boot ## Basic Information - **Project Name**: 12306-SpringBoot - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-15 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 12306SpringBoot 部署说明 面向运维/部署人员的简要说明:微服务入口、依赖中间件、构建与启动顺序。 ## 1. 项目是什么 基于 **Spring Boot 3.0**、**Spring Cloud 2022**、**Spring Cloud Alibaba** 的多模块铁路票务相关业务系统:网关统一入口,会员、业务、支付等后端服务注册到 **Nacos**,前端为 **Vue(Vite)**(用户端 `12306-vue`、管理端 `12306-vuehoutai`)。 ## 2. 运行环境 | 项 | 版本/说明 | |----|-----------| | JDK | **17** | | 构建 | Maven 3.x(根目录 `pom.xml` 聚合子模块) | | 前端(可选) | Node.js(用于 `npm`/`pnpm` 构建静态资源) | ## 3. 后端模块与默认端口 | 模块 | 说明 | 默认端口(见各模块 `application*.yml`) | |------|------|----------------------------------------| | `12306-gateway` | API 网关,路由 `/member/**`、`/business/**`、`/pay/**` | **8080** | | `12306-member` | 会员服务 | **8081** | | `12306-batch` | 批处理 / XXL-JOB 执行器 | **8082** | | `12306-business` | 核心业务 | **8083** | | `12306-pay` | 支付 | **8085** | | `12306-common` | 公共库,**不可单独部署** | — | **建议启动顺序:** 先保证 **Nacos** 及 Nacos 中配置可用 → 再启 **member / business / pay** → 最后启 **gateway**。`batch` 依赖 **XXL-JOB Admin** 与调度中心地址,按需启动。 ## 4. 必须准备的基础设施 部署前请确认以下服务已安装且地址与配置一致(当前仓库内多为示例 IP,**上线前务必改为实际环境**): - **Nacos**(配置中心 + 服务发现):各服务 `bootstrap.yaml` 中的 `spring.cloud.nacos.server-addr`。 - **MySQL**:业务库等(具体库名、账号密码以 Nacos 及本地 `application.yml` 中 `db` 段为准)。 - **Redis**(含 **Redisson**,主要在 business 相关配置中)。 - **RabbitMQ**:business 引用共享配置 `12306-rabbitmq-application.yaml`,需在 Nacos 中维护。 - **Sentinel**(可选):business 中 `sentinel.transport.dashboard` 指向控制台;规则可从 Nacos 加载(`12306-sentinelFlow`、`12306-sentinelDegrade`)。 - **XXL-JOB**(batch):`xxl.job.admin.addresses`、执行器端口等按环境修改。 ## 5. Nacos 中需要存在的配置(Data ID) 各服务通过 `shared-configs` 拉取共享配置,部署前请在 Nacos **对应命名空间 / Group** 下创建或导入: | Data ID | 使用方 | |---------|--------| | `12306-application.yaml` | gateway、member、business、pay | | `12306-rabbitmq-application.yaml` | business | | `12306-payApplication.yaml` | pay | Sentinel 规则(若启用 Nacos 数据源):`12306-sentinelFlow`、`12306-sentinelDegrade`(JSON,`DEFAULT_GROUP`)。 **Profile:** 各服务 `bootstrap.yaml` 中 `spring.profiles.active` 多为 `dev`,生产请改为实际 profile,并在 Nacos 中准备对应环境的 Data ID / 命名空间。 ## 6. 构建与运行(后端) 在**仓库根目录**执行: ```bash mvn clean package -DskipTests ``` 各可运行模块生成的 jar 在对应子目录的 `target/` 下,例如: ```bash java -jar 12306-gateway/target/*.jar ``` (将 `12306-gateway` 替换为实际要启动的模块名。) ## 7. 前端(可选) | 目录 | 构建命令(示例) | |------|------------------| | `12306-vue` | `npm install` → `npm run build`,产物一般在 `dist/` | | `12306-vuehoutai` | 按该目录 `package.json`(如 `pnpm install` → `pnpm build`) | 构建完成后将静态文件部署到 **Nginx** 等;**API 基地址**需指向网关(默认逻辑上为网关 **8080**),与开发环境保持一致即可。 ## 8. 部署检查清单(简) 1. Nacos 可访问,且上述 Data ID 已发布。 2. MySQL、Redis、RabbitMQ 与 Nacos 里配置一致。 3. 业务服务已注册到 Nacos,再启动 **gateway**。 4. 修改所有示例 IP、端口、数据库密码、XXL-JOB 地址等,**勿直接使用仓库中的开发默认值**。 5. 微信支付等密钥、回调 URL 仅在 pay 相关配置中设置,按生产域名配置。 --- 如有新增服务或 Data ID,以对应模块 `bootstrap.yaml` / `application.yml` 为准并同步更新本文档。