springboot+cloud子模块之间的服务的简单调用(非Eureka版本)

1.无需导入多余的依赖,因为发现与服务的包是org.springframework.web.client.RestTemplate,也就是web的包

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

2.比如已经有一个模块已经发布了,那么消费端的改动应该是:因为springboot推荐使用注解的方式,所以这里使用了配置类代替xml文件,创建注解类,把RestTemplate注入容器,这样就等于完成了微服务的注册

3.然后消费端创建Controller,利用自动注入的resstTemplate使用postForObject方法调用之前的模块已经发布的服务(另外的服务可以没有controller层,而本服务可以只有controller层,这样就简单的降低了耦合度),特别要留意注释的api详解!

下面的REST_URL_PREFIX常量是访问发布的提供者的地址

 

 4.创建本模块的主启动类

 1 package com.atguigu.springcloud;
 2 
 3 
 4 import com.atguigu.springcloud.cfgbeans.ConfigBean;
 5 import org.springframework.boot.SpringApplication;
 6 import org.springframework.boot.autoconfigure.SpringBootApplication;
 7 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 8 import org.springframework.cloud.netflix.ribbon.RibbonClient;
 9 
10 @SpringBootApplication
11 //@EnableEurekaClient
12 //在启动该微服务的时候就能去加载我们的自定义Ribbon配置类,从而使配置生效
13 //@RibbonClient(name = "MICROSERVICECLOUD-DEPT",configuration = ConfigBean.class)//针对该微服务名字,配置类
14 public class DeptConsumer80_App {
15     public static void main(String[] args) {
16         SpringApplication.run(DeptConsumer80_App.class,args);
17     }
18 }

 

posted @ 2018-06-24 21:10  AnyProgrammer  阅读(12849)  评论(0编辑  收藏  举报