spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目,并注册到Eureka注册中心(二)
标签: spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目 并注册到Eureka注册中心(二) Html/CSS博客 51CTO博客
2023-05-06 18:24:05 158浏览
一、新建一个父级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.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注册中的地址,注册中心需要提前运行
七、创建子项目具体业务文件路径(可选跳过)
此步骤可跳过,也可以在后面步骤中创建
八、创建多个子项目说明
1.创建多个子项目重复,重复上面文章中的 二、四、五、六、七步骤,三步骤中配置一次即可
2.或者直接复制已经创建子项目,进行平级目录粘贴,并修改其中子项目名称、启动类名称即可
还手动需要在父级项目的setting.gradle中包含,例如:
复制粘贴并且修改完成后,需要更新一下gradle
如果出现异常的启动项,可以删除,更新gradle,重新的配置子项目
3.创建多个服务过程中,idea会自动识别出多模块,自行弹出多模块设置,这个设置可以直接忽略,但是我这建议设置
4.子项目整体截图
目前将shopping项目,分成4个微服务,用户user, 商品goods, 支付pay, 订单order, 各个服务可以单独启动或单独部署,部署后续文章更新
九、启动各个服务
1.顶部导航栏,可以选择单个服务debug启动,启动成功后,切换另一个启动类,再次debug启动
2.如果在第八步骤3中,已经设置过多模块配置,也可以在底部工具右键单个服务启动或者全部服务启动
提前启动运行注册中心,参考:javascript:void(0) 浏览器输入:http://localhost:11001/
看到这个页面说明,用户user, 商品goods, 支付pay, 订单order4个微服务,已经成功注册到eureka注册中心
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论