spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目,并注册到Eureka注册中心(二)
总目录
https://preparedata.blog.csdn.net/article/details/120062997
一、新建一个父级gradl模块
1.在桌面或新建文件里面,右键,打开IDEA
- 选择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.8repositories {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.8repositories {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 会根据它作为服务idname: 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注册中心
spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目,并注册到Eureka注册中心(二)相关推荐
- Spring cloud(Finchley)微服务框架,sleuth整合zipkin链路追踪失效的问题
一.首先说问题: 1.springCloud在使用链路追踪组件sleuth整合zipkin的过程中链路追踪信息切都是正常: 2.微服务太多需要使用组件Config对每个微服务的的配置文件进行统一管理: ...
- 阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设
转载自 阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设 本周,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 S ...
- 手把手教你用Spring Cloud和Docker构建微服务
什么是Spring Cloud? Spring Cloud 是Pivotal提供的用于简化分布式系统构建的工具集.Spring Cloud引入了云平台连接器(Cloud Connector)和服务连接 ...
- 【Spring Cloud】03_SpringCloud Alibaba 微服务解决方案
微服务简介 背景分析 讲微服务之前,我们先分析以下单体应用.所谓单体应用一般是基于idea/eclipse,maven等建一个工程,然后基于SpringBoot,spring,mybatis框架进行整 ...
- 基于Spring Cloud及K8S构建微服务应用
摘要 广发证券蔡波斯先生通过三个大方向来为我们分享基于Spring Cloud及K8S构建微服务应用. 内容来源:2017年6月10日,广发证券蔡波斯在"Spring Cloud中国社区技术 ...
- java event sourcing_使用Spring Cloud和Reactor在微服务中实现EventSourcing -解道Jdon
使用Spring Cloud和Reactor在微服务中实现Event Sourcing 当在微服务架构中构建应用时,状态管理成为分布式系统的问题,相比于传统monolithic应用,将状态管理通过事务 ...
- Spring Cloud Sleuth + Zipkin 监控微服务(一)
在之前搭建的服务注册中心的基础上,结合Spring Cloud Sleuth + Zipkin 监控微服务. 1.Zipkin server 从https://dl.bintray.com/openz ...
- springcloud日志收集框架_从零开始入门K8S| 从Spring Cloud到Kubernetes的微服务迁移实践...
写在前面 要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,为了降低公司内部各个业务模块的耦合度,提高开发.交付及运维效率,我们在 2017 年就基于 Spring Cloud ...
- springcloud 整合 gateway_从Spring Cloud到Kubernetes的微服务迁移实践
写在前面 要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,为了降低公司内部各个业务模块的耦合度,提高开发.交付及运维效率,我们在 2017 年就基于 Spring Cloud ...
- 从Spring Cloud到Kubernetes的微服务迁移实践
写在前面 要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,为了降低公司内部各个业务模块的耦合度,提高开发.交付及运维效率,我们在 2017 年就基于 Spring Cloud ...
最新文章
- R语言使用ggpubr包的ggline函数绘制各种漂亮形式的线图实战
- Ubuntu建立(apache+php+mysql)+phpmyadmin
- VS2017编译可在Win2000上运行的程序
- 动态页面加载速度太慢
- CentOS/Linux 解决 SSH 连接慢
- HttpResponse对象
- 基于9款CSS3鼠标悬停相册预览特效
- windows环境下32位汇编语言程序设计 90盘_程序设计作业题汇总
- HDU1848 Fibonacci again and again【SG函数】
- git clone权限被拒绝
- PLC控制系统设计的基本原则和主要内容
- wps如何将字体竖着排列_WPS文字中怎么竖着打字?wps文字竖排的设置方法介绍
- ug无限的服务器名称,ug无效的服务器名称
- Android View事件分发机制
- 世界科学、技术、工业革命趋势分析
- python关键词生成文章_如何生成关键词云图?
- 微信公众平台开发实例(琴岛学院校园之声) PHP开发 代码挂载SAE平台(五)琴院Siri功能
- 自定义带取景框的camera
- HDUOJ 6575 Budget
- 12 HDFS的Trash回收机制
热门文章
- 【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
- 世界第一台通用计算机:ENIAC
- Android唤醒锁作用,Android深度睡眠和唤醒锁
- [51Nod 1326]:遥远的旅途
- 旧金山大学 计算机,旧金山大学
- 微信什么时候支持鸿蒙,若微信只支持鸿蒙抛弃安卓,结果如何?别傻了,腾讯不会“作死”...
- 天涯明月刀7月4号服务器维护,7月24日服务器例行维护公告(已完成)
- 数据库 SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂 执行 读取 期间,发生了该错误 恢复
- linux-gcc 找不到命令,为什么显示gcc命令没有找到?
- 在博客里胡搞markdown排版是否搞错了什么