搭建SpringBoot多模块微服务项目脚手架(一)
创始人
2024-06-02 12:14:35
0

搭建SpringBoot多模块微服务项目脚手架(一)

文章目录

  • 搭建SpringBoot多模块微服务项目脚手架(一)
    • 1.概述
    • 2.微服务环境搭建介绍
        • 1.微服务环境描述
        • 2.搭建环境组件和版本清单
    • 3.搭建父模块环境
      • 3.1.创建springboot父工程
        • 1.创建springboot
        • 2.配置maven和java
        • 3.精简父模块
        • 4.pom文件配置
        • 5.父模块结构
    • 4.创建微服务子模块
      • 4.1.创建微服务管理层
        • 1.创建service子模块
        • 2.配置service子模块
      • 4.2.创建微服务实现层
        • 1.创建微服务模块
        • 2.创建服务配置文件
      • 4.3.项目完整结构
        • 1.项目完整架构
        • 2.每个模块pom配置文件

1.概述

这篇文章介绍下搭建SpringBoot多模块项目脚手架,他最大的优点就是配套了开发微服务业务所有的附属产品,可以直接开发业务节省了搭建环境时间。

因为脚手架内容很多,因此将它设计为一个系列介绍,共分为三篇文章。
第一篇文章
搭建SpringBoot多模块微服务框架

第二篇文章
封装《MybatisPlus》
封装《Swagger》
封装《自动生成代码工具》

第三篇文章
封装《接口统一返回信息模板》
封装《接口统一请求信息模板》
封装《统一异常信息模板》
封装《统一日志模板》

2.微服务环境搭建介绍

1.微服务环境描述

这个脚手架不只是创建一个springboot项目,这样是不是直接开发业务的,还需要集成插件像swagger、MybatisPlus,封装底层框架像接口请求、接口响应、日志、异常等模块。
脚手架的目标就是准备好一个可以直接写业务代码的环境,下载下来就可以开发业务不再为开发环境耗费时间。

2.搭建环境组件和版本清单

组件名称版本号描述
SpringBoot2.6.1springboot服务
MybatisPlus3.0.5ORM映射框架
velocity2.0mybatisplus自动生成代码
gson2.8.2操作json工具类

3.搭建父模块环境

3.1.创建springboot父工程

1.创建springboot

1.File—>New—>project
2.创建一个spring工程:

  • 点击 Spring Initializr 表示创建一个spring工程
  • Project SDK 选择我们安装的JAVA版本
  • Choose Initializr Service URL 选择默认 Default
    3.点击Next

在这里插入图片描述

1.填写spring项目信息

  • Group:组织信息,倒序方式填写公司域名。例如:com.bruce
  • Artifact: 模块名称 例如:parent_spring
  • Type: 选择包管理插件,有maven和gradle。例如 maven
  • Java Version: 选择自己开发语言的版本
  • Version:打包版本,默认
  • Name:打包名称,默认
  • Package:打包路径,默认

在这里插入图片描述

1.选择springBoot版本和组件

  • Spring Boot: 选择springBoot版本
  • Developer Tools: 选择开发组件,这里选一个 SpringWeb组件

在这里插入图片描述

1.确认项目名称和路径
project name: 项目名称,默认即可
project location: 项目创建位置,默认即可

在这里插入图片描述

2.配置maven和java

mac系统: 点击 IntelliJ IDEA 下拉框点击 Preferences
windows系统: 点击 File 下拉框点击Setting

点击maven,选择本地电脑配置的maven版本

  • Maven home directory: maven安装路径,例如:/usr/local/apache-maven-3.5.3
  • User setting file: maven配置文件地址,例如:/usr/local/apache-maven-3.5.3/conf/settings.xml
  • Local repository: 本地maven仓库地址,例如:/Users/edy/Documents/javawork/mavenRepository

在这里插入图片描述

点击maven下拉框点击 Importing 勾选 Import Maven projects automatically , 以后添加依赖包就会自动导入,不需要手动导入。
在这里插入图片描述

点击File 下拉框点击 Project Structure 选择java开发语言版本

在这里插入图片描述

3.精简父模块

1.删除项目中不需要的内容包括

  • .mvn
  • HELP.md
  • mvnw
  • mvnw.cmd

2.删除src文件夹

4.pom文件配置

在项目中点击pom.xml 配置文件修改如下内容。
1.修改spring boot版本,改为我们使用的2.6.1版本
2.设置父模块为pom类型
3.父模块作为包管理器,它不使用依赖,因此在dependencies外面添加包管理标签 dependencyManagement
4.父模块用来管理子模块,它不会写代码因此需要将spring-boot-starter-webspring-boot-starter-test 依赖删除

修改完成后的pom.xml文件内容


4.0.0org.springframework.bootspring-boot-starter-parent2.6.1 com.bruceparent_spring0.0.1-SNAPSHOTparent_springDemo project for Spring Bootpom1.8org.springframework.bootspring-boot-maven-plugin

5.父模块结构

下面是配置完成的父模块工程结构

在这里插入图片描述

4.创建微服务子模块

创建子模块用来开发业务服务,我们是微服务因此每个子模块就是一个单独的服务。为了避免每个模块都重复引用相同的依赖,增加重复工作量,我们做了一个分层设计,设计理念如下。

微服务管理层:创建一个service模块用来管理所有的实现业务逻辑的微服务,在该模块中管理所有微服务需要的依赖包。
微服务实现层:在service模块下面创建多个子模块,每个模块都实现一个独立的业务逻辑功能,对外提供接口服务。

4.1.创建微服务管理层

1.创建service子模块

1.在父模块 parent_spring 右键点击 New 点击 Module 新建模块
2.选择创建Maven 类型模块

在这里插入图片描述

1.输入模块信息

  • Parent: 选择它要创建在哪个父模块下。 例如 parent_spring
  • Name: 新建模块的名称。 例如 service
  • Location: 新建模块创建的路径,默认即可

在这里插入图片描述

2.配置service子模块

1.service作为微服务管理层,它不需要写代码,因此删除src文件夹
2.修改pom.xml文件内容

  • 设置service模块为pom类型,因为它不写代码只管理依赖包。
  • 添加dependencies 依赖标签,并添加springbootweb 依赖
  • 添加build 设置打包规则

修改pom.xml文件完成后的内容


parent_springcom.bruce0.0.1-SNAPSHOT4.0.0servicepomorg.springframework.bootspring-boot-starter-websrc/main/java**/*.xmlfalse

4.2.创建微服务实现层

1.创建微服务模块

1.在 service 模块右键点击 New 点击 Module 新建模块
2.选择创建Maven 类型模块
3.输入模块信息

  • Parent: 选择它要创建在哪个父模块下,注意这里一定要选择service模块。
  • Name: 新建模块的名称。 例如这个模块实现用户模块业务,因此定义名称为 servce_user
  • Location: 新建模块创建的路径,默认即可

在这里插入图片描述

2.创建服务配置文件

1.在service_user模块中点击 src -> main -> resources 文件夹,在该文件夹下新建配置文件application.properties
2.创建好配置文件后,如果图标不是一个小叶子,那么它没有被spring当做资源文件。
点击 File -> Project Structure , 点击Modules 选择 service_user 模块,选择该模中resources 文件夹,点击Resources后就被spring识别为资源文件。

在这里插入图片描述
3.保存设置后,查看配置文件变为小叶子图标
在这里插入图片描述

4.3.项目完整结构

1.项目完整架构

到这里多模块的spring项目工程结构就搭建完成了,下面看下这个工程的完整结构。

在这里插入图片描述

2.每个模块pom配置文件

当我们创建了子模块后,maven 会自动在父模块的pom.xml 文件中modules 标签中添加子模块名称,用来建立父子模块管理关系。

1.parent_spring 模块 pom.xml文件


4.0.0org.springframework.bootspring-boot-starter-parent2.6.1 com.bruceparent_spring0.0.1-SNAPSHOTparent_springDemo project for Spring Bootpomservice1.8org.springframework.bootspring-boot-maven-plugin

2.service 模块 pom.xml文件


parent_springcom.bruce0.0.1-SNAPSHOT4.0.0servicepomservice_userorg.springframework.bootspring-boot-starter-websrc/main/java**/*.xmlfalse

3.service_user 模块 pom.xml文件


servicecom.bruce0.0.1-SNAPSHOT4.0.0service_user

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...