feign如何使用?
生活随笔
收集整理的這篇文章主要介紹了
feign如何使用?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在客戶端(User)引入依賴:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>在啟動類上面加上注解:@EnableFeignClients
然后編寫一個service類加上@FeignClient()注解 參數(shù)就是你的微服務(wù)名字
@FeignClient("SERVER-POWER") public interface PowerServiceClient {@RequestMapping("/power.do")public Object power();}下面是調(diào)用代碼:
import com.luban.service.OrderServiceClient; import com.luban.service.PowerServiceClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate;@RestController public class UserController {private static final String URL="http://SERVER-POWER";@Autowiredprivate RestTemplate restTemplate;@AutowiredPowerServiceClient powerServiceClient;@RequestMapping("/power.do")public Object power(){return restTemplate.getForObject(URL+"/power.do",Object.class);}@RequestMapping("/feignPower.do")public Object feignPower(){return powerServiceClient.power();}}這里拿了RestTemplate做對比 可以看看2者區(qū)別
Feign集成了Ribbon
利用Ribbon維護(hù)了服務(wù)列表信息,并且融合了Ribbon的負(fù)載均衡配置,也就是說之前自定義的負(fù)載均衡也有效,這里需要你們自己跑一遍理解一下。而與Ribbon不同的是,通過feign只需要定義服務(wù)綁定接口且以聲明式的方法,優(yōu)雅而簡單的實現(xiàn)了服務(wù)調(diào)用
?
總結(jié)
以上是生活随笔為你收集整理的feign如何使用?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: feign 能干什么:
- 下一篇: hystrix是什么?