新建微服务模块Maven子工程

news/2024/4/26 22:47:33/文章来源:https://blog.csdn.net/wmz1932/article/details/40475187

  gitegg-cloud是微服务框架,整体功能是非业务相关的基础功能,在实际业务开发过程中需要新建微服务的业务模块,根据业务的整体规划,设计新建Maven子工程。
  下面以常用的电商项目举例新建Maven子工程,电商项目一般包含商品微服务,订单微服务,支付微服务,账户微服务等,我们的整体规划是将电商项目作为一个整体的微服务Maven父工程,商品微服务,订单微服务,支付微服务,账户微服务作为电商项目的子工程,微服务之间通过Feign相互调用,所以我们在gitegg-cloud下新建gitegg-mall和gitegg-mall-client两个Maven工程。

 

Maven工程结构

下面以创建gitegg-mall和gitegg-mall-goods为例创建Maven父子工程:

1、在gitegg-cloud工程上点击右键,然后选择:New > Module... ,选择Maven,Create from archetype不要勾选,点击Next进入下一步,填写工程信息。

新建Maven工程

 

2、填写项目名称,选择工程代码存放路径,GroupId 、ArtifactId、Version,然后点击Finish完成创建。

填写Maven信息

3、因为gitegg-mall工程下面还要存放子模块工程,gitegg-mall也是一个父工程,所以删除工程下用不到的src目录。此时,pom.xml文件中没有节点<packaging>pom</packaging>,这里不需要处理,当创建子工程之后,这里会自动添加此节点。

gitegg-mall父工程

4、同样的方式创建gitegg-mall-client父工程,用于存放微服务之间相互调用的Feign客户端。

gitegg-mall-client

5、创建gitegg-mall第一个子工程gitegg-mall-goods商品微服务,在gitegg-mall工程上点击右键,然后选择:New > Module... > Maven,在Maven窗口点击右键选择org.apache.tapestry:quickstart,在Name处填入子工程名称:gitegg-mall-goods,然后点击Finish,子工程创建完成。

maven-quickstart

 

gitegg-mall-goods

6、同样的方式创建gitegg-mall-goods-client子工程,用于存放商品微服务之间相互调用的Feign客户端。

gitegg-mall-goods-client

 

gitegg-mall-goods-client

7、设置项目依赖库,复制gitegg-service下面的pom.xml里面的依赖库配置dependencies,放到gitegg-mall的pom.xml里。

需要复制的内容:

    <dependencies><!-- gitegg Spring Boot自定义及扩展 --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-boot</artifactId></dependency><!-- gitegg Spring Cloud自定义及扩展 --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-cloud</artifactId></dependency><!-- gitegg数据库驱动及连接池 --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-db</artifactId></dependency><!-- gitegg mybatis-plus --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-mybatis</artifactId></dependency><!-- gitegg swagger2-knife4j --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-swagger</artifactId></dependency><!-- gitegg cache自定义扩展 --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-cache</artifactId></dependency><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-redis</artifactId></dependency><!-- spring boot web核心包 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- spring boot 健康监控 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency></dependencies>

8、设置项目依赖库和打包配置,复制gitegg-service-client下面的pom.xml里面的依赖库配置dependencies和build内容,放到gitegg-mall-client的pom.xml里。

需要复制的内容:

    <dependencies><!-- gitegg Spring Boot自定义及扩展 --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-boot</artifactId></dependency><!-- gitegg Spring Cloud自定义及扩展 --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-cloud</artifactId></dependency><!-- gitegg swagger2-knife4j --><dependency><groupId>com.gitegg.platform</groupId><artifactId>gitegg-platform-swagger</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--client模块不打可执行的jar包,打普通jar包即可--><skip>true</skip></configuration></plugin><plugin><groupId>com.google.cloud.tools</groupId><artifactId>jib-maven-plugin</artifactId><configuration><!--此模块不打可执行的jar包,打普通jar包即可--><skip>true</skip></configuration></plugin></plugins></build>

9、复制工程配置文件bootstrap.yml、bootstrap-dev.yml、bootstrap-test.yml、bootstrap-prod.yml到gitegg-mall-goods的src/main/resources目录下,gitegg-mall-goods-client不需要这些配置文件,在gitegg-mall-goods的pom.xml中新增打包插件配置。
  同样client工程相关的配置也需要参考gitegg-service-client和gitegg-service-system-client里面的pom.xml配置,复制到gitegg-mall-goods和gitegg-mall-goods-client的pom.xml中。

    <build><plugins><plugin><groupId>com.google.cloud.tools</groupId><artifactId>jib-maven-plugin</artifactId></plugin></plugins></build>

10、修改bootstrap.yml里面的服务端口配置,修改成一个当前未占用的端口。

修改端口

11、新建微服务启动类GitEggMallApplication,可以直接复制GitEggSystemApplication然后修改内容,包名根据自己规划,这里设置为com.gitegg.mall.goods.brand。

GitEggMallApplication 代码

/*** gitegg-mall 启动类* @author GitEgg*/
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.gitegg")
@ComponentScan(basePackages = "com.gitegg")
@SpringBootApplication
public class GitEggMallApplication {public static void main(String[] args) {SpringApplication.run(GitEggMallApplication.class,args);}
}

  Maven工程创建好之后,就可以点击GitEggMallApplication 右键运行,测试是否配置正确,后面的操作就是编写具体的增删查改等业务逻辑代码。gitegg-cloud提供代码生成器,下一节介绍说明如何使用代码生成器根据表设计生成前后端代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_72497.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VIIRS-NPP夜间灯光遥感数据下载和预处理

VIIRS-NPP夜间灯光遥感数据下载和预处理 月和年合成产品下载网站 日数据下载网站 一、下载shp掩膜文件 下载好月合成产品后&#xff0c;在这个网站上下载矢量地图&#xff0c; 点击复制按钮&#xff0c;来到这个网站&#xff0c;ctrl v粘贴 点击右上角Export&#xff0c;…

搞懂事件——C# 的event的机制深度理解

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:无尽的折腾后,终于又回到了起点,工控,我来了 !1. 前言 为什么忽然对Event感兴趣了? 因为进入Web时代以后,很少使用它了,忽然想起这个知识点,…

九龙证券|市场化转融资业务试点上线首日平稳运行

2月21日&#xff0c;中国证券金融股份有限公司&#xff08;下称“中证金融”&#xff09;商场化转融资事务试点迎来首个买卖日。全天该事务试点平稳运转&#xff0c;商场化转融资规模合计10亿元。 业内人士以为&#xff0c;商场化转融资事务形式下&#xff0c;证券公司参加转融…

使用51单片机和DS1302时钟芯片做一个简易的电子时钟

简易的电子时钟实验一、前言二、DS1302模块介绍三、驱动DS1302的代码3.1 初始化DS1302时钟芯片3.2 读取DS1302时钟芯片的时间3.3 设置DS1302时钟芯片的时间3.4 读取DS1302时钟芯片的RAM四、读取DS1302时钟芯片的RAM4.1 发送读取RAM的命令4.2 读取RAM的内容4.3 读取部分单独代码…

[飞桨paddle]1. conda安装paddle环境.模型转换,pytorch->paddlepaddle

“一生费城七六人”1. conda装paddle环境1.1 验证是否装好2. x2paddle2.1 介绍2.2 安装3 模型转换3.1 pt -> onnx3.2 onnx > .pdparams3.2.1 会出现的错误情况3-1. 第一种情况3-2. 第二种情况4. 查看结果问题阐述&#xff1a;将yoloV5项目移至paddle框架下执行时&#xf…

中央一号文件首提“即时零售”,县域掀起消费业态新风潮

经过几年的探索&#xff0c;即时零售已经逐步走向成熟&#xff0c;并开始向三四线城市以及乡镇城市渗透。 过去一年&#xff0c;京东、美团、阿里争先布局即时零售市场&#xff0c;完善即时配送网络、培养用户消费习惯&#xff0c;即时零售订单迎来了骤增。2022年下半年&#…

C/C++每日一练(20230222)

目录 1. 部分复制字符串(★) 2. 按字典顺序排列问题(★★) 3. 地下城游戏(★★★) 附录 动态规划 1. 部分复制字符串 将字符串2小写字母复制到字符串1&#xff1a;编写程序,输入字符串s2,将其中所有小写字母复制到字符串数组strl中。例如&#xff1a;aal1bb22cc33de4AA55…

Java实现多线程有几种方式(满分回答)

目录JDK8 创建的线程的两种方式orcle文档解释方式一&#xff1a;继承Thread类方式二&#xff1a;实现Runnable接口同时用两种的情况其他间接创建方式Callable接口线程池JDK8 创建的线程的两种方式 orcle文档解释 orcle文档&#xff1a;https://docs.oracle.com/javase/8/docs…

九龙证券|银行资本管理办法迎“大修” 信用风险权重法调整优化

1年期AAA中债商业银行同业存单到期收益率 日前迎来“大修”的商业银行本钱办理方法&#xff0c;在债券商场激起“涟漪”——债券商场一改此前平静态势&#xff0c;连续两日跌落。 2月21日&#xff0c;10年期国债收益率较上星期五上行2.9个基点&#xff0c;至2.919%&#xff1b…

Redis学习【10】之Redis主从集群(1)

文章目录一 Redis主从集群搭建1 伪集群搭建与配置1.1.1 分级管理1.1.2 容灾冷处理1.2 主从复制原理1.2.1 主从复制过程1.2.2 数据同步演变过程1.3 哨兵机制实现1.3.1 哨兵机制简介1.3.2 Redis 高可用集群搭建1.3.3 Redis 高可用集群的启动1.3.4 Sentinel 优化配置1.4 哨兵机制原…

Spring中自定义Session管理,Spring Session源码解析

系列文章&#xff1a;Spring Boot学习大纲&#xff0c;可以留言自己想了解的技术点 目录 系列文章&#xff1a;Spring Boot学习大纲&#xff0c;可以留言自己想了解的技术点 1、session是什么&#xff1f; 1>session在哪里&#xff1f; 2>服务器怎么知道每次说话的是…

H5盲盒抽奖系统源码

盲盒抽奖系统4.0&#xff0c;带推广二维码防洪炮灰功能和教程。 支持微信无限回调登录 标价就是源码价格&#xff0c;vuetp5框架编写&#xff0c;H5网页&#xff0c;前后端分离 此源码为正规开发&#xff0c;正版产品已申请软著。 开源无加密无授权&#xff0c;可以二开使用…

霍尔元件的应用

霍尔传感器有3个pin&#xff0c;分别是 正极 负极和输出pin。 输出pin接电阻和发光二极管。电阻起限流作用。 电源接5.5v直流电。当拿一个磁铁的N极靠近霍尔元件时&#xff0c;二极管越来越亮。当拿S极靠近霍尔元件时&#xff0c;二极管越来越暗。 N极磁场强度定义为正的磁场强…

算法刷题日志——移除元素,双指针

文章目录删除有序数组中的重复项[删除有序数组中的重复项 II](https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/)移除元素[283. 移动零](https://leetcode.cn/problems/move-zeroes/description/)[844. 比较含退格的字符串](https://leetcode.cn/problem…

Docker之路(3.docker底层原理、和虚拟机VM对比区别)

1.docker run 流程图 2. docker 底层原理 2.1 docker 是怎么工作的&#xff1f; Docker 是一个 Client-Server 结构的系统&#xff0c;Docker的守护进程运行在主机上&#xff0c; 通过Socket从客户端访问&#xff01; DockerServer接收到Docker-Client的指令&#xff0c;就会执…

【Java】Spring的创建和使用

Spring的创建和使用 Spring就是一个包含众多工具方法的IOC容器。既然是容器&#xff0c;那么就具备两个最主要的功能&#xff1a; 将对象存储到容器中从容器中将对象取出来 在Java语言当中对象也叫作Bean。 1. 创建Spring项目 创建一个普通maven项目添加Spring框架支持(spri…

Spring Boot自动装配的原理

Spring Boot自动装配的原理自动装配的实现EnableAutoConfigurationAutoConfigurationImportSelectorSpring Boot中的自动装配&#xff0c;它是Starter的基础&#xff0c;也是Spring Boot的核心。那么什么叫自动装配呢&#xff1f;或者说什么叫装配呢&#xff1f; 简单来说&…

金三银四丨黑蛋老师带你剖析-安全开发岗

作者丨黑蛋在之前呢&#xff0c;我们聊了二进制这块的病毒岗位&#xff0c;漏洞岗位&#xff0c;逆向岗位以及CTF这块的岗位。今天我们就来聊一聊安全开发类的工作岗位。首先网络安全方向中安全开发岗位都有哪些&#xff0c;安全开发主要指安全研发工程师或安全开发工程师&…

电子技术——负反馈特性

电子技术——负反馈特性 本节我们进一步深入介绍负反馈特性。 增益脱敏性 假设 β\betaβ 是一个常数。考虑下面的微分方程&#xff1a; dAfdA(1Aβ)2dA_f \frac{dA}{(1 A\beta)^2} dAf​(1Aβ)2dA​ 将上式除以 AfA1AβA_f \frac{A}{1A\beta}Af​1AβA​ 得到&#xff1…

php+vue加油站会员服务系统 java微信小程序

目 录 1绪论 1 1.1项目研究的背景 1 1.2开发意义 1 1.3项目研究现状及内容 5 1.4论文结构 5 2开发技术介绍 7 2.5微信小程序技术 8 3系统分析 9 3.1可行性分析 9 3.1.1技术可行性 9 3.1.2经济可行性 9 3.1.3操作可行性 10 3.2网站性能需求分析 10 3.3网站功能分析 10 3.4系统…