# Logistics System **Repository Path**: FisherKK/logistics-system ## Basic Information - **Project Name**: Logistics System - **Description**: 一个分布式的物理管理系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-11-09 - **Last Updated**: 2024-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Logistics System ## 介绍 一个分布式的物理管理系统 ## 软件架构 采用微服务的架构方式, 对业务进行微服务的拆分: 1. 网关, 前端所有的请求按照接口规范请求网关, 由网关负责对进行路由转发, 跨域设置和微服务的负载均衡 2. 订单服务: 和订单有关的业务 3. 管理服务: 和员工车辆管理有关的业务 4. 登录服务: 和注册登录有关的业务 5. 地址服务: 和地址簿有关的业务 6. 模拟服务: 模拟现实中硬件的操作 ## 编程规范 ### 父项目中的依赖 父项目中已经存在的依赖有: * 父项目已经继承了`spring-boot-starter-parent` * 父项目对`spring-cloud-alibaba-dependencies`, `spring-cloud-dependencies`进行了版本控制管理 * `druid-spring-boot-starter` **数据库连接池** * `mysql-connector-java `**数据库连接驱动** * `mybatis-spring-boot-starter` **mybatis** * `spring-boot-devtools` * `spring-boot-configuration-processor` * `spring-boot-starter-test` * `lombok ` * `spring-cloud-starter-alibaba-nacos-discovery` **服务发现中心** * `spring-cloud-starter-alibaba-nacos-config` **服务配置中心** * `spring-cloud-starter-openfeign` **远程调用** ### 你需要做什么 * 如果你要新建一个Spring-Web项目, 实现MVC(Tomcat服务器), 那么你需要导入(不需要版本声明) ```xml org.springframework.boot spring-boot-starter-web ``` * 如果你需要使用规范的`R`响应数据格式, 请导入依赖 ```xml org.example logistics-common 1.0-SNAPSHOT ``` ### 服务发现 这是一个简单的demo, 在resources目录下新建`application.yml`文件, 添加配置信息 ```yaml spring: cloud: nacos: discovery: server-addr: 1.15.170.222:8848 # 标注服务地址 # 标注应用的名称 application: name: logistics-gateway ``` ### 服务注册 这是一个简单的demo, 在resources目录下新建`bootstrap.yml`文件, 添加配置信息 ```properties spring.application.name=logistics-test spring.cloud.nacos.config.server-addr=1.15.170.222:8848 spring.cloud.nacos.config.namespace=9432ce1f-5e19-42fd-a0d2-6549f8c09267 # 配置命名空间 spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml spring.cloud.nacos.config.extension-configs[0].group=dev spring.cloud.nacos.config.extension-configs[0].refresh=true spring.cloud.nacos.config.extension-configs[1].data-id=value.yml spring.cloud.nacos.config.extension-configs[1].group=dev spring.cloud.nacos.config.extension-configs[1].refresh=true # 扩展数据信息 ``` 具体的逻辑是: * 每一个微服务有自己的**命名空间**, 会加载默认的配置信息 * 不同的配置在不同阶段使用**分组**的配置信息进行区分