我们接着上一篇文章 idea 创建spring-cloud 项目之Eureka注册中心练习
https://blog.csdn.net/liuying1802028915/article/details/105029694
来 创建一个 Eureka-Client 来注册到我们刚刚启动的Eureka-Server 上
一,首先我们还是在父工程 上创建一个子工程,因为我之前已经创建了一个config-client 作为 一个Eureka-Client ,现在我们创建一个config-client01
我们还是创建一个Module
我们选择Config-Client组件
创建子工程后的目录如下图:
其中config-client工程是我在写这篇博客之前创建的,已经成功
现在我们的目的是创建一个config-client 作为 一个eureka-client注册到eureka-server上去
所以我们来看一下 新创建的子工程的pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.taoj</groupId>
<artifactId>config-client01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>config-client01</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
其中我们可以看到 只引入了 config-client和spring-boot-starter-test的依赖 此时我们要引入一个eureka-client的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
引入之后的pom文件是这样的
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.taoj</groupId>
<artifactId>config-client01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>config-client01</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
待依赖引入后,我们还要再创建一个application.yml文件
spring:
application:
name: config-client01
server:
port: 2568
eureka:
client:
serviceUrl:
defaultZone: http://127.0.0.1:12345/eureka/
在这里我们声明了这个应用的名称 和 要注册到哪一个eureka上去
并且也规定了自己的端口
此时我们还要做一件事,那就是在启动类上加入@EnableDiscoveryClient(接下来我们会谈一下@EnableDiscoveryClient和@EnableEurekaClient的区别) ,这样才代表此工程 被当成Eureka-Client 注册到Eureka-Server上去 ,接下来我们来启动一下 这个启动类
这里其实有一个小的插曲,这里启动是启动不起来的,但是这次为啥能启动起来,暂时还不知道是什么原因,因为在上一个子工程config-client到这一步的时候,没报错但是没起来,后来在这个子工程中加入了spring-boot-starter-web的依赖就好了,总之现在我们呢能起来,并且我们来访问一下Eureka-Server:
说明已经注册到Eureka-Server上了
大功告成,下一篇我们来说一下 @EnableDiscoveryClient和@EnableEurekaClient这两个注解的区别
不积跬步,无以至千里
不积小流,无以成江海