spring-clound的简单实例

1 第一步spring

1)建立eureka服务中心 //至关于dubbo使用zookeeper的原理app

pom.xmlide

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

eureka.client.service-url.defaultZone= http://localhost:8761/eureka/测试

server.port=8001fetch

eureka.instance.hostname=eureka-serverurl

eureka.client.register-with-eureka=false.net

eureka.client.fetch-registry=falserest

3)在主应用中启用eureka @EnableEurekaServercode

测试结果server

2 建立服务提供者的应用

1)pom.xml

<dependency>

<groupId>org.springframework.cloud</groupId>
		
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		
		</dependency>
  1. application.properties

server.port=8002

spring.application.name=provider

#使用服務的ip地址來進行注冊

eureka.instance.prefer-ip-address=true

eureka.client.service-url.defaultZone:http://127.0.0.1:8761/eureka/

  1. 建立提供的服务内容 @Service public class BookService { public String getBook(){ return "少年,还好吗?"; } }

4)建立向外提供服务的controller @RestController

public class BookController {

@Autowired

BookService bookService;

@GetMapping("/book")

public String getBook(){

return  bookService.getBook();

} }

3 建立消费者

1)pom.xml

<dependency>

<groupId>org.springframework.cloud</groupId>
		
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		
    </dependency>
  1. application.properties

spring.application.name=consumer

server.port=8200

eureka.instance.prefer-ip-address=true

eureka.client.service-url.defaultZone:http://localhost:8761/eureka/

3)编写调用服务的controller

@RestController

public class helloController {

@Autowired

RestTemplate restTemplate;

@GetMapping("/hello")

public String UserBook(String name){

String s=  restTemplate.getForObject("http://PROVIDER/book",String.class);

  return name+"购买了"+s;

} }

4)启用从远程调用服务 @EnableDiscoveryClient

@SpringBootApplication

public class ConsumerApplication {

public static void main(String[] args) {

    SpringApplication.run(ConsumerApplication.class, args);
}

@Bean

@LoadBalanced

public RestTemplate restTemplate(){

return new RestTemplate();

} }

测试结果:

相关文章
相关标签/搜索