0
点赞
收藏
分享

微信扫一扫

五、SpringCloud服务调用(Feign接口对象模式)


 

第一步、在当前项目pom.xml中添加spring-cloud-starter-feign的jar包

<dependencies>
<!-- ribbon -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.3.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.3.4.RELEASE</version>
</dependency>

<!-- feign调用 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
<version>1.3.4.RELEASE</version>
</dependency>

</dependencies>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Brixton.SR5</version>
<type>pom</type>
</dependency>
</dependencies>

第二步:在application.properties中配置eureka参数

eureka.client.serviceUrl.defaultZone=http://localhost:7777/eureka

第三步:创建cn.xxx.xxx.remote包,在创建定义xxxRemote远程Feign接口,追加@FeignClient标记

@FeignClient(name="SUBJECT-SERVICE")//指定注册服务名
public interface SubjectRemote {

//方法参考Controller定义编写
@RequestMapping(value="/subject",method=RequestMethod.GET)
public ResponseResult loadSubjects();

}

 

第四步:直接在Controller中注入SubjectRemote (远程Feign对象调用远程服务)接口

@Controller
@RequestMapping("/exam")
public class ExamController {

@Autowired
private SubjectRemote subjectRemote;


@RequestMapping("/home.html")
public String home(String token,ModelMap model){


//调用http://localhost:8885/subject请求获取所有学科信息
//url规则: http://注册服务名/请求名
ResponseResult result = subjectRemote.loadSubjects();

……

//将数据存入Model
model.put("result", result);
return "home";//templates/home.html
}

}

第五步、添加@EnableFeignClients@EnableDiscoveryClient标记到启动类

@EnableFeignClients//启用Feign接口模式调用服务
@EnableDiscoveryClient//启用服务注册和查找
@SpringBootApplication
public class ExamWebBootApplication {

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

}

第六步、启动各服务测试

 

 

 

 

 

举报

相关推荐

0 条评论