专题模块项目功能说明和运行方法-02

项目集介绍

SpringbootSeries父工程

此模块中只有一个pom.xml文件,是后面所有模块的父模块,主要功能有两个:子模块管理和依赖管理。

类别 必选 可选
基础框架 jdk 17+ spring-boot-starter 3.2.4 spring-boot-starter-web 3.2.4 spring-cloud 2023.0.1 spring-cloud-alibaba 2023.0.1.0
数据库 mybatis-plus-spring-boot3-starter 3.5.6 druid-spring-boot-starter 1.2.22 mysql-connector-java 8.0.33
工具包 cn.hutool 5.8.27 org.projectlombok 1.18.30 org.mapstruct 1.5.5.Final mapstruct-processor 1.5.5.Final framework-commons 1.0-SNAPSHOT
日志 slf4j 2.0.12 logback 1.4.14
测试 spring-boot-starter-test 3.2.4 springdoc-openapi-starter-webmvc-ui 2.4.0 spring-boot-starter-actuator 3.2.4 : runtime spring-boot-devtools 3.2.4

Framework子工程组

这个工程组中一共包含两个子模块,framework-commons可以单独引用, 其中framework-persistence依赖了framework-commons

  • framework-commons:springboot框架底层功能封装;
  • framework-commons:mybatis数据库操作相关底层功能封装;

SpringBoot子工程组

表格中,启动方法列中run jar表示运行模块下相应的SpringbootXxxxxApplication.java 文件,另外sh startup.sh -m standalone 是Nacos启动命令

功能说明 涉及模块和软件 启动方法
Springboot基础工程 springboot-base:18080 run jar
Springbootweb基础工程 springboot-web: 18081 run jar
Springboot常用功能 springboot-common-config:17000 run jar
Springboot集成mybatisplus springboot-mybatisplus:18086 run jar
Springboot集成redis springboot-redis:18087 consul agent -dev brew services start redis run jar
Springboot集成Kafka springboot-kafka:15002 consul agent -dev brew services start zookeeper brew services start kafka run jar
发布Springboot应用服务Docker镜像 springboot-docker:19508 sh startup.sh -m standalone mvn -clear package docker build -t springbootapp:lecture . docker run -it -d springbootapp:lecture /bin/bash docker logs containerId

SpringCloud子工程组

表格中,启动方法列中run jar表示运行模块下相应的SpringbootXxxxxApplication.java 文件

功能说明 涉及模块和软件 启动方法
Consul 注册中心 springcloud-consul-server:18093 consul agent -dev run jar
Consul配置中心 springcloud-consul-config:18087 consul agent -dev run jar
Netflix-ribbon+Consul负载均衡 springcloud-consul-server :18093, 18094 provider服务提供者 springcloud-consul-client :18095 consumer服务消费者 consul agent -dev run springcloud-consul-server run springcloud-consul-client
Gateway+Consul服务网关 springcloud-api-gateway:19000,服务网关 springcloud-gateway-server:18096,被代理的应用 Consul agent -dev run springcloud-api-gateway run springcloud-gateway-server
Enreka注册中心 springcloud-eureka-server:18082,18083 springcloud-eureka-client:18084 springcloud-eureka-server-with-security:18085 run springcloud-eureka-server run springcloud-eureka-client
Netflix-ribbon+Enreka负载均衡 springcloud-eureka-server :18082,注册中心 springcloud-ribbon-server:18091, 18092, provider服务提供者 springcloud-ribbon-client:18090, consumer服务消费者 run springcloud-eureka-server run springcloud-ribbon-server run springcloud-ribbon-client
SpringbootAdmin服务监控 springcloud-admin-server:19888,图形化配置中心 springcloud-client-server:19889,被管理的测试应用 consul agent -dev run springcloud-gateway-server run springcloud-client-server

Alibaba SpringCloud子工程组

表格中,启动方法列中run jar表示运行模块下相应的SpringbootXxxxxApplication.java 文件

功能说明 涉及模块和软件 启动方法
Nacos配置中心 alibaba-nacos-config:19500 sh startup.sh -m standalone run jar
Nacos注册中心 alibaba-nacos-client:19503 sh startup.sh -m standalone run jar
Nacos+OpenFeign负载均衡 alibaba-nacos-server:19501,19502 provide服务端 springboot-openFeign-client : 19506, consumer客户端 sh startup.sh -m standalone run alibaba-nacos-server run springboot-openFeign-client
Nacos+Sentinel服务治理 alibaba-sentinel-client:19504 alibaba-sentinel-server:19505 sh startup.sh -m standalone sh sentinel run alibaba-sentinel-server run alibaba-sentinel-client
Nacos+Sentinel+OpenFeign服务降级 alibaba-sentinel-openFeign-client:19508 sh startup.sh -m standalone sh sentinel run jar

项目集运行和测试方法

java jdk最低版本17

因采用了父子结构,所以在本地运行相应模块的SpringbootXxxxApplication.java启动类之前,首先:

安装Maven基础模块

  1. 先在springbootSeries模块(即最外层的父工程)中执行mvn install,把pom.xml缓存到本地maven缓存库中;
  2. 再依次在framework-commonsframework-persistence模块中执行mvn install,缓存通用jar包到本地maven缓存库中;

如果不需要修改上述三个模块的源码,则在本地只需执行一次mvn install命令即可,需要注意的是以上三个模块的执行顺序不能弄错,先springbootSeries-->framework-commons-->framework-persistence

三方插件服务启动

某些模块需要其它三方插件来辅助运行,现把启动方式罗列在些,以方便查找:

shell 复制代码
# 启动Nacos,访问地址:http://localhost:8848/nacos
sh startup.sh -m standalone  

# 启动Consul,访问地址:http://127.0.0.1:8500/
consul agent -dev

# 启动Redis
redis server

# 启动sentinel dashboard,访问地址 http://localhost:9999
java -Dserver.port=9999 -Dcsp.sentinel.dashboard.server=localhost:9999 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.7.jar

启动Springboot服务

一般只需要执行位于`com.korgs.SpringbootXxxxxApplication.java'路径下的SpringbootApplication启动类,即可运行相应模块服务。

测试Springboot服务

在这里笔者建议采用 Swagger3 来进行测试,因为 Swagger3 服务已事先集成到了framework-commons模块中,同时为了方便,在每个模块的SpringbootXxxxxApplication.

java类中都定义了一个名为 http://localhost:18080/helloworld 的测试Restful接口。Swagger-UI访问地址如下:

18080是应用开放的端口,通过application.properties文件的server.port=18080属性定义
如果涉及多个springboot配置文件的模块,在Idea中可以在启动配置对话框中添加Springboot,然后在配置界面勾选程序实参,最后配置--spring.profiles.active=serverBackup,以指定不同springboot的profile配置文件

相关推荐
陌上花开࿈1 小时前
调用第三方接口
java
Aileen_0v01 小时前
【玩转OCR | 腾讯云智能结构化OCR在图像增强与发票识别中的应用实践】
android·java·人工智能·云计算·ocr·腾讯云·玩转腾讯云ocr
西猫雷婶3 小时前
python学opencv|读取图像(十九)使用cv2.rectangle()绘制矩形
开发语言·python·opencv
桂月二二3 小时前
Java与容器化:如何使用Docker和Kubernetes优化Java应用的部署
java·docker·kubernetes
liuxin334455663 小时前
学籍管理系统:实现教育管理现代化
java·开发语言·前端·数据库·安全
海绵波波1073 小时前
flask后端开发(10):问答平台项目结构搭建
后端·python·flask
码农W3 小时前
QT--静态插件、动态插件
开发语言·qt
ke_wu3 小时前
结构型设计模式
开发语言·设计模式·组合模式·简单工厂模式·工厂方法模式·抽象工厂模式·装饰器模式
小马爱打代码3 小时前
设计模式详解(建造者模式)
java·设计模式·建造者模式
code04号4 小时前
python脚本:批量提取excel数据
开发语言·python·excel