1.创建父工程SpringCloudTest
SpringCloudTest为父工程,用于引入通用依赖,如spring-boot-starter-web、lombok,这样子工程就可以直接继承,无需重复引入。在dependencyManagement标签中引入和springboot版本对应的springcloud(访问官网查询),本文用的springboot3.5.3,对应springcloud2025.0.0。

SpringCloudTest的pom.xml文件的关键内容如下:
XML
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<modules>
<module>spring-cloud-eureka-server</module>
<module>spring-cloud-eureka-client</module>
</modules>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2025.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.创建子工程spring-cloud-eureka-server
主要分四步:在parent标签中引入父工程的依赖;引入spring-cloud-starter-netflix-eureka-server依赖;启动类上添加@EnableEurekaServer自动化配置注解;在application.yaml文件中配置eureka注册中心的信息。
application.yaml文件内容:
XML
eureka:
instance:
instance-id: ${spring.application.name}:${server.port}
prefer-ip-address: true
client:
# 注册中心自己不用注册
register-with-eureka: false
fetch-registry: false
# 注册中心地址,必须以eureka为后缀,否则服务注册不上
service-url:
defaultZone: http://127.0.0.1:8080/eureka/
spring:
application:
name: eureka_server
server:
port: 8080
3.创建子工程spring-cloud-eureka-cilent
主要分三步:在parent标签中引入父工程的依赖;引入spring-cloud-starter-netflix-eureka-client依赖;在application.yaml中配置服务注册地址。
application.yaml文件内容如下:
XML
server:
port: 9000
spring:
application:
name: spring-cloud-eureka-client
eureka:
instance:
instance-id: ${spring.application.name}:${server.port}
client:
service-url:
defaultZone: http://127.0.0.1:8080/eureka
4.分别启动spring-cloud-eureka-server和spring-cloud-eureka-cilent
5.访问localhost:8080,结果如下图所示。

6.踩的坑:
1)defaultZone的后缀不是eureka,导致服务找不到注册中心,注册失败。