# ground control **Repository Path**: yeliu0715/ground-control ## Basic Information - **Project Name**: ground control - **Description**: 远程控制模块 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-04 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ground-control项目 ## 目录 - [ground-control](#地面控制系统) - [目录](#目录) - [介绍](#介绍) - [使用](#使用) - [1. 克隆项目](#1-克隆项目) - [2. 修改配置文件](#2-修改配置文件) - [3. 启动项目](#3-启动项目) - [结构说明](#结构说明) - [config](#config) - [constant](#constant) - [controller](#controller) - [domain](#domain) - [enums](#enums) - [exception](#exception) - [influxDB](#时序数据库) - [mapper](#mapper) - [redis](#redis) - [service](#service) - [schedule](#schedule) - [utils](#utils) - [resource](#resource) - [test](#test) - [其他](#其他) ## 介绍 ground-control负责给ground-web提供数据,并将web端的控车指令下发给train-udp,监控机车任务执行流程,存储运行数据,它集成了 MyBatis、Redis、SQL \influxDB等常用技术栈。 MyBatis 是一个优秀的持久层框架,它提供了灵活的 SQL 映射和执行功能,能够帮助开发者更高效地操作数据库。Redis 是一个高性能的键值对存储数据库,常用于缓存和数据存储,能够显著提高系统的性能和响应速度。SQL 则是关系型数据库操作的标准语言,通过集成这些技术栈,该脚手架适合用于快速开发和原型设计。借助此脚手架,开发者可以省去搭建基础项目结构和配置常用技术的时间,将更多精力投入到核心业务逻辑的开发中。## 使用 ### 1. 克隆项目 首先,你需要将项目克隆到本地。打开终端,执行以下命令: ```bash git clone https://gitee.com/yeliu0715/ground-control.git ``` ### 2. 修改配置文件 在项目克隆到本地后,需要根据实际情况修改配置文件。配置文件包含了项目运行所需的各种参数,如数据库连接信息、Redis 配置等。在 src/main/resources/application.yml 中修改数据库连接、Redis 配置等信息。以下是一个示例配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database_name username: your_username password: your_password driver-class-name: com.mysql.cj.jdbc.Driver redis: host: localhost port: 6379 password: your_redis_password ``` ### 3. 启动项目 项目配置完成后,你可以使用以下命令启动项目: ```bash mvn spring-boot:run ``` 此命令会使用 Maven 启动 Spring Boot 应用程序。Maven 是一个强大的项目管理和构建工具,它可以帮助开发者管理项目的依赖和构建过程。启动成功后,你可以在浏览器或 Postman 等工具中访问项目的 API 接口。如果项目启动失败,可能是配置文件中的信息有误或者依赖项没有正确下载,请仔细检查并解决问题。 ## 结构说明 ### config 配置类,包含 Spring Boot 的各种配置(此路径下多为全局配置),如数据源、MyBatis、Redis 等。配置类可以帮助我们将项目的配置信息集中管理,方便维护和修改。 ### constant 常量类,定义项目中使用的常量值。在软件开发中,常量是指在程序运行过程中不会发生变化的值。常量类可以避免在代码中硬编码常量值,提高代码的可读性和可维护性。 ### controller 控制器类,处理 HTTP 请求并返回响应。在 Web 开发中,控制器是 MVC(Model-View-Controller)架构中的一部分,它负责接收客户端的请求,调用相应的服务方法处理请求,并将处理结果返回给客户端。 ### domain 领域模型类,表示业务实体。在软件开发中,领域模型是对业务领域中的概念和关系的抽象表示。领域模型类通常对应数据库中的表,用于封装业务数据。 ### enums 枚举类,定义项目中使用的枚举类型。在 Java 中,枚举是一种特殊的数据类型,它可以将一组相关的常量组织在一起,提高代码的可读性和可维护性。 ### exception 自定义异常类,用于处理业务逻辑中的异常情况。在软件开发中,异常是指程序在运行过程中出现的错误或异常情况。自定义异常类可以帮助我们更好地处理业务逻辑中的异常情况。 此外,此路径下还包含异常处理类,用于全局处理(或是针对某一个程序包)应用程序中的异常。通过使用全局异常处理类,我们可以统一处理应用程序中的异常,提高代码的可维护性和可读性。 ### influxDB influxDB 时序数据库相关配置和操作类,负责将连续的机车运行数据存储 ### interceptor 拦截器类,用于拦截 HTTP 请求并进行预处理或后处理。拦截器可以在请求到达控制器之前或响应返回给客户端之后执行一些操作,如权限校验、日志记录等。通过使用拦截器,我们可以在不修改控制器代码的情况下,对请求和响应进行统一处理。 ### mapper MyBatis 的 Mapper 接口,定义数据库操作方法。MyBatis 是一个优秀的持久层框架,它通过 Mapper 接口和 XML 映射文件或注解来实现数据库操作,xml映射文件位于 `src/main/resources/mapper` 目录下。 ### redis Redis 相关的配置和操作类,用于缓存和数据存储。Redis 是一个高性能的键值对存储数据库,常用于缓存和数据存储,能够显著提高系统的性能和响应速度。 ### service 服务类,包含业务逻辑处理方法。在软件开发中,服务层是介于控制器和数据访问层之间的一层,它负责处理业务逻辑 ### schedule 定时任务和异步任务类,处理定时执行的任务。在软件开发中,有些任务需要定时执行,如数据备份、定时统计等。Spring Boot 提供了 @Scheduled 注解来实现定时任务。 ### utils 工具类,提供常用的工具方法。在软件开发中,有些方法是通用的,如日期处理、字符串处理等。工具类可以将这些通用的方法封装起来,提高代码的复用性。本项目中包含了如日期工具类、字符串工具类,文件工具类,json工具类和Result工具类。其中每个工具类的作用如下: ### resource 资源文件夹,存放静态资源、xml映射,数据库初始化sql文件和配置文件。 ### test 测试类,包含单元测试和集成测试。 ### 其他 其他文件夹和类,如`pom.xml`文件,分别用于配置项目属性和依赖。 部分配置项在本脚手架项目中在类中进行配置,实际项目中可以根据需要进行调整。