springcloud-4:服务注册(hello-service)

服务端 请见 http://www.cnblogs.com/huiy/p/8668005.html

客户端:

主启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient
@SpringBootApplication
public class HelloApplication {

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

HelloContronller

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloContronller {

  private Logger logger = LoggerFactory.getLogger(HelloContronller.class);

  @Autowired
  private DiscoveryClient client;

  @GetMapping("/hello")
  public String index() {
    ServiceInstance serviceInstance = client.getInstances("hello-service").get(0);
    logger.info(serviceInstance.getHost()+" "+serviceInstance.getServiceId()+" "+serviceInstance.getUri());
    return "helloservice";
  }

}

image

红框处是取spring.application.name这个值。

application.properties

spring.application.name=hello-service
eureka.client.service-url.defaultZone=http://localhost:1111/eureka/

pom.xml 基本同服务端,只是多了web依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
原文地址:https://www.cnblogs.com/huiy/p/8670033.html