使用 SpringBoot 和 Maven 来搭建一个 SpringCloud 项目的主要步骤如下:
1、建立父模块
先建立一个 Maven 项目,然后删除掉 src 文件夹部分,只保留 pom.xml
pom.xml
文件进行如下更改
父级的 pom 文件主要是进行项目版本的管控,以及公用的依赖可以配置在这里,依赖的版本也可以在这里管控
.....
<packaging>pom</packaging>
....
2、建立子模块
在父级模块 Maven 项目上右键,选择新建 Maven Module
,然后配置上模块的名称等信息就可以了,这时在父模块下就可以看到新建的子模块。接下来就用该方式分别建立learn-springcloud-eureka
模块和learn-springcloud-user
模块,先来建立 Eureka 注册中心服务:
pom.xml
父项目为上述建立的父级模块
<parent>
<groupId>com.learn</groupId>
<artifactId>learn-springcloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>learn-springcloud-eureka</artifactId>
<name>learn-springcloud-eureka</name>
<description>learn-springcloud-eureka</description>
<dependencies>
引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
</project>
application.yml
server:
port: 8080
# Eureka配置
eureka:
instance:
# eureka服务端的实例名称
hostname: localhost
leaseRenewalIntervalInSeconds: 30
client:
# false表示不向注册中心注册自己
register-with-eureka: false
# false表示自己端就是注册中心,职责就是维护服务实例,并不需要去检查服务
fetch-registry: false
# 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
service-url:
defaultZone: http://localhost:8080/eureka
server:
enable-self-preservation: true
renewalPercentThreshold: 0.49
这样就可以直接启动 Eureka 服务了。
接下来建立 User 模块,由于 pom.xml 中的内容与 Eureka 一致,这里就不再赘述,直接介绍配置文件中将服务注册到注册中心的部分
eureka:
client:
# 表示将自己注册进Eureka Server默认为true
register-with-eureka: true
# 是否从Eureka Server抓去已有的注册信息,默认是true
fetch-registry: true
# 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
service-url:
defaultZone: http://localhost:8080/eureka
这样一个含有两个服务的微服务就建立完成了。