十七、springcloud(三)服务的注册与调用

1、启动服务注册中心Eureka(见上篇)

  启动成功后,暂时无服务

  

 

2、项目框架

  

3、创建服务提供者(spring-cloud-houge-provider)jar

  a、application.properties

  

spring.application.name=spring-cloud-provider
server.port=9000
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

 

   b、启动类

  

@SpringBootApplication
@EnableDiscoveryClient //使项目有服务注册功能
public class ProviderApplication {

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

  c、Controller

@RestController
@RequestMapping("/dynasty")
public class DynastyController {

    @RequestMapping("/hello")
    public String hello(@RequestParam String name) {
        return "hello, " + name;
    }
}

   d、启动测试http://localhost:9000/dynasty/hello?name=houge

    e、http://localhost:8000/

  

 

  

4、创建消费者(spring-cloud-houge-consumer)jar

  a、application.properties

  

spring.application.name=spring-cloud-consumer
server.port=9001
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

 

  b、添加依赖

  

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-feign</artifactId>
        </dependency>
    </dependencies>

 

  c、启动类

  

@SpringBootApplication
@EnableDiscoveryClient //启用服务注册与发现
@EnableFeignClients    //启用feign进行远程调用
public class ConsumerApplication {

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

}

 

    d、feign调用实现

  

@FeignClient(name= "spring-cloud-provider") //name:远程服务名,及spring.application.name配置的名称
public interface DynastyService {
    
    @RequestMapping(value="/dynasty/hello")
    public String hello(@RequestParam(value = "name")String name);
}

 

    e、web层调用远程服务

 

@RestController
@RequestMapping("/dynasty")
public class DynastyController {
    
    @Autowired
    private DynastyService dynastyService;

    @RequestMapping("/hello")
    public String hello(String name) {
        String value = dynastyService.hello(name);
        return value;
    }
}

 

    f、启动测试http://192.168.0.131:9001/dynasty/hello?name=monkey

  

    h、http://localhost:8000/

  

 

posted on 2018-10-15 10:59  那只猴子  阅读(226)  评论(0)    收藏  举报

导航