1、导入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
</dependency>
</dependencies>
2、配置application.yml:
spring:
application:
name: demo_consumer
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka
server:
port: 9993
3、主要代码:
controller:
注意DiscoveryClient 要导入org.springframework.cloud.client.discovery.DiscoveryClient不然会注入不了
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private RestTemplate restTemplate;
@Autowired
private DiscoveryClient discoveryClient;
@RequestMapping("/findAll")
public List<User> findAll() {
List<ServiceInstance> instancesById = discoveryClient.getInstances("demo_provider");
ServiceInstance instanceInfo = instancesById.get(0);
String uri = "http://"+instanceInfo.getHost()+":"+instanceInfo.getPort()+"/user/findAll";
return restTemplate.getForObject(uri, java.util.List.class);
}
}
启动类:
/*开启Eureka发现*/
@EnableEurekaClient
@SpringBootApplication
public class Starter {
public static void main(String[] args) {
SpringApplication.run(Starter.class, args);
}
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
}
Eureka服务注册与发现实战
本文介绍了如何在Spring Boot应用中集成Eureka实现服务的注册与发现。首先,我们导入了必要的依赖,并配置了application.yml文件。接着,展示了Controller中的代码,利用DiscoveryClient进行服务发现。最后,启动类启动应用并完成Eureka的集成。
509

被折叠的 条评论
为什么被折叠?



