最简单的懒人springcloud之Eureka(服务注册与发现)

本文开发软件是STS,是eclipse为springboot项目而生的一个软件,用这个软件开发spring的项目版本都会自己对应的,话不多说直接上代码

springboot版本2.1.8.RELEASE

 

 

 

 

 

 

 点击完成后,等待项目生成,完成之后我们点开项目可以看到,所有需要用到的文件都已经生成好了,而且启动类与pom文件都有了

 

 

 打开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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.linje</groupId>
    <artifactId>Eureka</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringCloud-Eureka</name>
    <description>Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR3</spring-cloud.version>
    </properties>

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

        <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>

好,下一步只需要对appapplication.yml(如果没有,那就建立一个)进行最简单的配置

server:
  port: 8081 
spring:
  application:
    name: Enreka 
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/   
    

 

 表示server.port=8081, spring.application.name=enreka, eureka.instance.hostname=localhost, 其中eureka.client.registerWithEureka和eureka.client.fetchRegistry为false,表示当前工程是Eureka服务。

服务端最后一步,在启动类上添加一个注解就可以完成了

package com.linje;

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


@SpringBootApplication
@EnableEurekaServer // 表示这是服务注册
public class SpringCloudEurekaApplication {

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

}

这就完成了吗,每错,服务端最简单的架子就已经完成了,启动方法就可测试

 

 程序正常启动,打开浏览器,输入http://127.0.0.1:8081,即可看到这个界面

 

 说明你的服务已经正常启动,而且还是可以用的,是不是很激动

架子已经搭建好了,下一步需要这个架子出点力了,建立一个服务消费者

 

 

 yml文件配置如下

server:
  port: 8082
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8081/eureka/

spring:
  application:
    name: service-ribbon

添加一个controller,并添加测试方法

package com.linje.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EnrekaController {

    @Value("${server.port}")
    String port;  // 获取yml中的端口号
    
    @RequestMapping("hello")
    public String TestController(@RequestParam String param) {
    
        return "呐呐呐,端口号:"+port+"还有你的参数:"+param;
    }
    
}

然后运行成功后,查看你的服务主界面,你会发现多了那么一条信息

 

 这证明你的enreka集成成功啦,然后测试你的服务是否正常工作

在浏览器中输入http://127.0.01:8082/hello?param=123

 

 测试完成,是不是都感觉很简单呢~

 

posted @ 2019-09-26 11:21  沐颜小妖精  阅读(361)  评论(0编辑  收藏  举报