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

server/2024/9/23 15:00:06/

项目集介绍

在这里插入图片描述

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-commonsspringboot框架底层功能封装;
  • framework-commons:mybatis数据库操作相关底层功能封装;

SpringBoot子工程组

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

功能说明涉及模块和软件启动方法
Springboot基础工程springboot-base:18080run jar
Springbootweb基础工程springboot-web: 18081run jar
Springboot常用功能springboot-common-config:17000run jar
Springboot集成mybatisplusspringboot-mybatisplus:18086run jar
Springboot集成redisspringboot-redis:18087consul agent -dev
brew services start redis
run jar
Springboot集成Kafkaspringboot-kafka:15002consul agent -dev
brew services start zookeeper
brew services start kafka
run jar
发布Springboot应用服务Docker镜像springboot-docker:19508sh 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:18093consul agent -dev
run jar
Consul配置中心springcloud-consul-config:18087consul 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:19500sh startup.sh -m standalone
run jar
Nacos注册中心alibaba-nacos-client:19503sh 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:19508sh 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

三方插件服务启动

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

# 启动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访问地址如下:

  • http://localhost:18080/swagger-ui.html

在这里插入图片描述

18080是应用开放的端口,通过application.properties文件的server.port=18080属性定义

如果涉及多个springboot配置文件的模块,在Idea中可以在启动配置对话框中添加Springboot,然后在配置界面勾选程序实参,最后配置–spring.profiles.active=serverBackup,以指定不同springboot的profile配置文件
在这里插入图片描述


http://www.ppmy.cn/server/37533.html

相关文章

Mybatis进阶4-权限管理

权限管理 1.权限 //相当于 职责 2.用户 //相当于 职员(职员就职于一个职位) 3.角色 //相当于 职位(有多个职责) 权限管理基础表:权限表,用户表,角色表 问题1:…

面向对象 01:Java 面向对象相关内容

前言 记录时间 [2024-05-07] 基础篇文章简摘: Java 笔记 01:Java 概述,MarkDown 常用语法整理 Java 笔记 02:Java 开发环境的搭建,IDEA / Notepad / JDK 安装及环境配置,编写第一个 Java 程序 Java 笔记 11…

算法精讲:选择排序

基本思想 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在待排序的数列的最前端,直到所有元素排完。 排序过程 初始关键字:【3 1 5 4 2】 第一趟排序后:1【3 5 4 2】 第二趟排序后&am…

mysql5.7数据库安装及性能测试

mysql5.7数据库安装及性能测试 记录Centos7.9下安装mysql 5.7并利用benchmark工具简单测试mysql的性能。 测试机:centos7.9 配置:4C8G40G 1. 下安装mysql5.7 安装mysql5.7: # 通过官方镜像源安装$ wget http://dev.mysql.com/get/mysql57-com…

电路板第一次调试注意事项

电路板第一次调试注意事项 调板经验其他人的经验一、上电前检查1、目测检查2、电源短路检查3、连线检查4、元器件安装检查 二、通电后检测1、通电观察2、静态调试3、动态调试 调板经验 1.打开原理图 PCB,熟悉一遍。 2.拿到板,找到输入正负极&#xff0…

TypeScript学习日志-第二十天(模块解析)

模块解析 一、ES6之前的模块规范 前端模块化规范是有很多的,在es6模块化规范之前分别有一下的模块化规范 一、Commonjs 这是 NodeJs 里面的模块化规范 // 导入 require("xxx"); require("../xxx.js"); // 导出 exports.xxxxxx function() …

加索引导致表被锁的原因及处理方法

目录 为什么加索引会导致表被锁?什么情况下会被锁?要注意什么?被锁怎么处理?MySQL查询被锁的表查询被锁的库 PostgreSQL查询被锁的表查询被锁的库 Oracle查询被锁的表查询被锁的库 SQL Server查询被锁的表查询被锁的库 结语 在数据…

聪明与诚实:社会信任的桥梁

在现代社会中,我们经常听到这样的评价:“某人真聪明。”然而,当我们深入思考时,会发现“聪明”这个词背后所承载的含义并不单一。聪明和狡诈往往被混淆,而诚实的价值却时常被忽视。在一个高度诚信的社会里,…