spring cloud教程详解,springcloud详细教程

XIAO 2020-05-24 11:23:57 java常见问答 3754

说起微服务,我们就不得不提spring cloud了,确实以它在微服务中的地位,也是值得我们一探究竟的,有兴趣的朋友们可以跟小编一起来学习一下spring cloud的相关教程哦。

spring cloud它是一个分布式架构的服务治理体系,和Dubbo差不多的,但是这个更简单,一起搭建一个微服务架构吧。

第一步呢:我们先创建一个主Maven工程。

spring cloud,教程

在pom.xml添加依赖。

<?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>com.xuye.parent</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <name>sc-f-chapter1</name>
    <description>Demo project for Spring Boot</description>
 
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/>
    </parent>
 
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </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>

第二步呢:在此项目下,再创建一个Module,作为注册中心。

spring cloud,教程

注意:该Module是基于spring boot的。然后填好信息都是next,到此步骤,按下图选择,Cloud Discovery—Eureka Server

spring cloud,教程

该模块的pom.xml暂时也不需要添加和修改的,因为已经继承了父项目的pom.xml了。

我们现在,需要去做的事情是,修改application.yml,如果后缀是properties的记得改后缀,如果看得懂的话呢,就自己修改成properties的格式。注册中心的,配置内容如下。

#服务端口号
server:
  port: 8901
#服务名称
spring:
  application:
    name: server
 
eureka:
  instance:
    hostname: localhost
  client:
    #注册中心不需要注册自己,这两处默认值都为true,我们设为false
    registerWithEureka: false
    #注册中心不需要去发现服务
    fetchRegistry: false
    #设置服务注册中心的URL,此处则表示为http://localhost:8901/eureka/
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

然后我们去入口,Application中添加注解:@EnableEurekaServer,表示是一个注册中心。

OK了,此时注册中心已经配置完了,我们可以直接启动注册中心的服务器了。

第三步:在此项目下,我们新建一个Module,作为服务提供者。

创建Module的步骤和创建注册中心的Module一模一样,注意名字不要一样就可以了。

创建好了之后,我们再来看application.yml ,注意,如果后缀是properties的记得改后缀,如果看得懂的话,就自己修改成properties的格式也可以。

server:
  port: 8902
#此处需要加上该服务的名字
spring:
  application:
    name: client
 
eureka:
  client:
      #向注册中心注册自己,此处默认为true,可以不用加的,但为了教学解释
      registerWithEureka: true
      #让注册中心发现自己,默认也为true,可以不用加的,但为了教学解释
      fetchRegistry: true
      #设置服务注册中心的URL,注册中心已经设置过了,直接去注册中心查看即可。
      serviceUrl:
        defaultZone: http://localhost:8901/eureka/

注意上面的registerWithEureka: true和fetchRegistry: true是可以不用添加的,因为默认就是true的。

再去入口处添加注解@EnableEurekaClient,表示是一个服务提供者。我们来测试一下。

启动服务,注册中心和服务提供者都需要去启动的。

然后输入url:http://localhost:8902/hello

好了,以上就是本篇文章的所有内容了,还想了解更多java入门知识可以继续关注本站消息获取呢。

推荐阅读:

Spring Cloud Netflix是什么?有哪些作用?

Spring Cloud Alibaba是什么?有哪些功能?

javaweb教程详解,如何在javaweb中与数据库互动实现查询?