SpringCloud2020版本配置与环境搭建教程详解

 更新时间:2020年12月28日 15:06:00   作者:ZM つ小灰灰的成长  
这篇文章主要介绍了SpringCloud2020版本配置与环境搭建教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1、maven父子工程搭建

项目使用maven工程搭建,下面是工程的结构图。SpringCloud2020是父工程,仅负责依赖的管理,eureka是注册中心的服务端,testclient是测试的客户端。

在这里插入图片描述

1.1 父工程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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>org.example</groupId>
 <artifactId>SpringCloud2020</artifactId>
 <packaging>pom</packaging>
 <version>1.0-SNAPSHOT</version>
 <modules>
  <module>eureka</module>
  <module>testclient</module>
 </modules>
 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.4.1</version>
  <relativePath/> <!-- lookup parent from repository -->
 </parent>
 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
 </properties>

 <dependencyManagement>
  <dependencies>
   <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <!-- Provide the latest stable Spring Cloud release train version (e.g. 2020.0.0) -->
    <version>2020.0.0</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>

1.2 eureka子工程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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <parent>
  <artifactId>SpringCloud2020</artifactId>
  <groupId>org.example</groupId>
  <version>1.0-SNAPSHOT</version>
 </parent>
 <modelVersion>4.0.0</modelVersion>

 <artifactId>eureka</artifactId>

 <dependencies>
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  </dependency>
 </dependencies>
</project>

1.3 testclient子工程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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <parent>
  <artifactId>SpringCloud2020</artifactId>
  <groupId>org.example</groupId>
  <version>1.0-SNAPSHOT</version>
 </parent>
 <modelVersion>4.0.0</modelVersion>

 <artifactId>testclient</artifactId>
 <dependencies>
 	<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  </dependency>
  <!--引入WebStart-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
 </dependencies>
</project>

2、配置application

2.1 eureka 配置

server:
 port: 20001 #eureka运行的端口号
 address: 127.0.0.1 #注册中心运行地址
 servlet:
 context-path: /server #eureka注册中心管理界面地址
eureka:
 client:
 register-with-eureka: false #是否加入eureka注册表
 fetch-registry: false #还是向eureka请求注册信息表
 service-url:
  defaultZone: http://${server.address}:${server.port}/eureka #注册中心地址,其它服务需要注册到该地址

2.1 testclient 配置

server:
 port: 20002
# Spring
spring:
 application:
 name: test_service
# Eureka
eureka:
 client:
 service-url:
  defaultZone: http://127.0.0.1:20001/eureka #这里的port与eureka的端口对应
 instance:
 lease-renewal-interval-in-seconds: 5 # 每隔5秒发送一次心跳
 lease-expiration-duration-in-seconds: 10 # 10秒不发送就过期
 prefer-ip-address: true
 instance-id: ${spring.application.name}:${server.port}

3、启动类

3.1 Eureka启动类EurekaApplication

package org.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}

3.2 TestClient启动类TestClientApplication

package org.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class TestClientApplication {

	public static void main(String[] args) {
		SpringApplication.run(TestClientApplication.class, args);
	}

}

4、运行结果

如果没有意外,那么你将看到

在这里插入图片描述

如果启动testclient时报错

在这里插入图片描述

请检查testclient工程的依赖中是否存在下面的依赖项,如果没有,请添加。原因可能是eureka-client依赖spring-boot-starter-web

 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

如果没有出现TEST_SERVICE,并且testclient出现以下报错

在这里插入图片描述

请检查testclient配置的defaultZone是否与eureka配置对应,并清空已经构建的内容,再重新启动eureka,testclient。
在testclient控制台看到以下日志信息,说明注册成功。

在这里插入图片描述

访问管理界面默认使用127.0.0.1:port,如果要改变它,请按照下面的提示配置

server:
 port: 20001 #eureka运行的端口号
 address: 127.0.0.1 #管理界面的地址
 servlet:
 context-path: /eureka-ui#管理界面的context-path
eureka:
 client:
 register-with-eureka: false #是否加入eureka注册表
 fetch-registry: false #是否向eureka请求注册信息表
 service-url:
  defaultZone: http://127.0.0.1:${server.port}/eureka # 配置注册中心的地址,其它服务注册的时候使用。

到此这篇关于SpringCloud2020版本配置与环境搭建教程详解的文章就介绍到这了,更多相关SpringCloud2020版本配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 轻松掌握java装饰者模式

    轻松掌握java装饰者模式

    这篇文章主要帮助大家轻松掌握java装饰者模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java正则表达式验证固定电话号码符合性

    Java正则表达式验证固定电话号码符合性

    这篇文章主要介绍了Java正则表达式验证固定电话号码符合性的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • 浅谈Java中常用数据结构的实现类 Collection和Map

    浅谈Java中常用数据结构的实现类 Collection和Map

    下面小编就为大家带来一篇浅谈Java中常用数据结构的实现类 Collection和Map。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Java TCP网络通信协议详细讲解

    Java TCP网络通信协议详细讲解

    TCP/IP是一种面向连接的、可靠的、基于字节流的传输层通信协议,它会保证数据不丢包、不乱序。TCP全名是Transmission Control Protocol,它是位于网络OSI模型中的第四层
    2022-09-09
  • 简述Java编程语言中的逃逸分析

    简述Java编程语言中的逃逸分析

    这篇文章主要介绍了简述Java编程语言中的逃逸分析,包括其定义、作用、类型及理论基础等相关内容,十分具有参考价值,需要的朋友可以了解下。
    2017-09-09
  • springcloud gateway无法路由问题的解决

    springcloud gateway无法路由问题的解决

    gateway网关的重要作用之一便是进行路由转发工作,下面这篇文章主要给大家介绍了关于springcloud gateway无法路由问题的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • java实现RedisTemplate操作哈希数据

    java实现RedisTemplate操作哈希数据

    RedisTemplate是Spring Data Redis提供的一个用于操作Redis的模板类,本文主要介绍了java实现RedisTemplate操作哈希数据,具有一定的参考价值,感兴趣的可以了解一下
    2024-09-09
  • Java中的什么场景使用递归,如何使用递归

    Java中的什么场景使用递归,如何使用递归

    这篇文章主要介绍了Java中的什么场景使用递归,如何使用递归的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • JAVA正则表达式提取key-value类型字符值代码实例

    JAVA正则表达式提取key-value类型字符值代码实例

    这篇文章主要给大家介绍了关于JAVA正则表达式提取key-value类型字符值的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-10-10
  • Java Maven构建工具中mvnd和Gradle谁更快

    Java Maven构建工具中mvnd和Gradle谁更快

    这篇文章主要介绍了Java Maven构建工具中mvnd和Gradle谁更快,mvnd 是 Maven Daemon 的缩写 ,翻译成中文就是 Maven 守护进程,下文更多相关资料,需要的小伙伴可以参考一下
    2022-05-05

最新评论