spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目,并注册到Eureka注册中心(二)_gradle模块父子关系引入-程序员宅基地

技术标签: Java  微服务  多模块父子项目微服务  注册Eureka  spring cloud  gradle 微服务框架搭建  

总目录

https://preparedata.blog.csdn.net/article/details/120062997

一、新建一个父级gradl模块

1.在桌面或新建文件里面,右键,打开IDEA
请添加图片描述

  1. 选择Flie > NEW > Module
    选择Gradle, 选择Module SDK 1.8, 选择Java
    请添加图片描述
    请添加图片描述
    请添加图片描述
    创建完成后,idea中会多出一个项目,如下图示例
    请添加图片描述
    然后直接关闭当前idea, 进入刚才创建好的文件下,再次打开项目
    可以直接删除src目录

二、新建子级gradl模块,用于存放Eureka注册中心项目

在父级项目上右键(这一步和上一步有区别,其他都后面步骤都一样) > NEW > Module 选择Gradle, 选择Module SDK 1.8, 选择Java
请添加图片描述请添加图片描述
父级项目得settings.gradle, 会自动添加include ‘shopping-order’

说明:
1.循环此步骤即可创建多个子项目
2.或者直接复制已经创建好的子项目,粘贴到同级目录,粘贴时候,记着修改子项目名称(shopping-pay,shopping-goods等), 切记切记,还需要在父级项目中的setting.gradle中包含子项目,比如:include 'shopping-goods'

三、修改父级bulid.gradle配置

原有的bulid.gradle配置,保留group version sourceCompatibility等属性, 其他全部注释掉或者删除
如下修改后代码,粘贴完成后,点击idea的import changes或刷新gradle即可

	/*plugins {
        id 'java'
    }

    group 'com.pd'
    version '1.0-SNAPSHOT'

    sourceCompatibility = 1.8

    repositories {
        mavenCentral()
    }

    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12'
    }*/


    group 'com.pd'
    version = '1.0-SNAPSHOT'
    apply plugin: 'java'
    sourceCompatibility = 1.8

    //构建Gradle脚本自身需要的资源,可以声明的资源包括依赖项、第三方插件、maven仓库地址等。
    buildscript {
    
        ext {
    
            springBootVersion = '2.0.2.RELEASE'
            springCloudVersion = 'Finchley.M8'
        }

        //设置仓库
        repositories {
    
            maven {
     url 'http://maven.aliyun.com/nexus/content/groups/public/' }
            maven {
     url 'https://repo.spring.io/milestone'}
        }

        //用来打包
        dependencies {
    
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    }

    //配置全局, 包括root项目和子项目
    allprojects {
    

        //设置仓库
        repositories {
    
            maven {
     url 'http://maven.aliyun.com/nexus/content/groups/public/' }
            maven {
     url 'https://repo.spring.io/milestone'}
        }

        //配置编码格式
        tasks.withType(JavaCompile) {
    
            options.encoding = "UTF-8"
        }
    }

四、修改子级项目的bulid.gradle配置

原有的bulid.gradle配置全部注释掉或者删除,引入空的dependencies即可

/*plugins {
    id 'java'
}

group 'com.pd'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}*/

dependencies {
    

}
说明:
1.子项目已经继承了父项目中配置,就不需要其他多余配置
2.子项目中空的dependencies依赖,适用于依赖各自子项目独有的依赖,如果配置子项目中公共的依赖,在父项目的subprojects.dependencies引入即可

五、新建子级项目启动项

新建java路径下的package,例如:com.pd.shopping.order
请添加图片描述
新建子项目启动项ShoppingOrderApplication
请添加图片描述
代码如下:

package com.pd.shopping.order;

import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;

@SpringCloudApplication
public class ShoppingOrderApplication {
    
    public static void main(String[] args) {
    
        SpringApplication.run(ShoppingOrderApplication.class, args);
    }
}

六、新建子级项目application.yml

请添加图片描述
代码如下:

#声名服务端口号
server:
  port: 11004
#设置服务名称
spring:
  application:  # 应用名字,eureka 会根据它作为服务id
    name: shopping-order
eureka:
  client:
    #是否在注册中心注册自己
    register-with-eureka: true
    #是否从 eureka 获取注册信息
    fetch-registry: true
    #配置注册中心的url (注意:地址最后面的 /eureka/ 这个是固定值)服务注册也就依赖这个url,后续我们会用到
    service-url:
        defaultZone: http://localhost:11001/eureka
说明:
1.各个子项目的端口号不能相同
2.defaultZone注册中的地址,注册中心需要提前运行,创建注册中心可参考: https://preparedata.blog.csdn.net/article/details/120063331

七、创建子项目具体业务文件路径(可选跳过)

此步骤可跳过,也可以在后面步骤中创建
请添加图片描述

八、创建多个子项目说明

1.创建多个子项目重复,重复上面文章中的 二、四、五、六、七步骤,三步骤中配置一次即可

2.或者直接复制已经创建子项目,进行平级目录粘贴,并修改其中子项目名称、启动类名称即可
还手动需要在父级项目的setting.gradle中包含,例如:
请添加图片描述
复制粘贴并且修改完成后,需要更新一下gradle
如果出现异常的启动项,可以删除,更新gradle,重新的配置子项目
请添加图片描述
3.创建多个服务过程中,idea会自动识别出多模块,自行弹出多模块设置,这个设置可以直接忽略,但是我这建议设置
请添加图片描述
请添加图片描述
4.子项目整体截图
请添加图片描述
目前将shopping项目,分成4个微服务,用户user, 商品goods, 支付pay, 订单order, 各个服务可以单独启动或单独部署,部署后续文章更新

九、启动各个服务

1.顶部导航栏,可以选择单个服务debug启动,启动成功后,切换另一个启动类,再次debug启动
请添加图片描述
2.如果在第八步骤3中,已经设置过多模块配置,也可以在底部工具右键单个服务启动或者全部服务启动
请添加图片描述
提前启动运行注册中心,参考:https://preparedata.blog.csdn.net/article/details/120063331
浏览器输入:http://localhost:11001/
请添加图片描述
看到这个页面说明,用户user, 商品goods, 支付pay, 订单order4个微服务,已经成功注册到eureka注册中心

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_16998945/article/details/120082979

智能推荐

分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告_预计2026年中国分布式传感器市场规模有多大-程序员宅基地

文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大

07_08 常用组合逻辑电路结构——为IC设计的延时估计铺垫_基4布斯算法代码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码

OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版

关于美国计算机奥赛USACO,你想知道的都在这_usaco可以多次提交吗-程序员宅基地

文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗

MySQL存储过程和自定义函数_mysql自定义函数和存储过程-程序员宅基地

文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程

半导体基础知识与PN结_本征半导体电流为0-程序员宅基地

文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0

随便推点

【Unity3d Shader】水面和岩浆效果_unity 岩浆shader-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader

广义线性模型——Logistic回归模型(1)_广义线性回归模型-程序员宅基地

文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型

HTML+CSS大作业 环境网页设计与实现(垃圾分类) web前端开发技术 web课程设计 网页规划与设计_垃圾分类网页设计目标怎么写-程序员宅基地

文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写

C# .Net 发布后,把dll全部放在一个文件夹中,让软件目录更整洁_.net dll 全局目录-程序员宅基地

文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录

BRIEF特征点描述算法_breif description calculation 特征点-程序员宅基地

文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点

房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文_基于spring boot的房屋租赁系统论文-程序员宅基地

文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文

推荐文章

热门文章

相关标签