Введение в симуляцию
Feign - это объявленный клиент веб -службы, что облегчает запись клиента веб -службы. Используйте Feign, чтобы создать интерфейс и аннотировать его. Он обладает поддержкой аннотации, включая аннотацию фамилия и аннотацию JAX-RS. Файн также поддерживает подключаемый энкодер и декодер. Spring Cloud добавляет аннотацию в Spring MVC. Spring Web использует HttpmessageConverters по умолчанию, а Spring Cloud объединяет сбалансированный HTTP-клиент, предоставленный Libbon и Eureka.
Декларативный отдых клиент: симулятор
Во-первых, запустите проект Eureka_register_service (регистрационный центр) и проект Biz-Service-0 (производитель услуг)
Создать проект Maven eureka_feign_client
Pom.xml
<parent> <groupid> org.springframework.boot </GroupId> <ArtifactId> Spring-Boot-Starter-parent </artifactid> <sersive> 1.4.3.3.reeleas -> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 1.8 </java.version> </свойства> <Depertiencies> <Depective> <groupid> org.spramework.cloud </Group> <StrifactId> Spring-Cloud-Starter-Feign </artifactid> </dependency> <depervice> <groupid> org.springframework.cloud </groupid> <artifactid> Spring-cloud-starter-eureka </artifactid> </vehing> <dehyside> <groupd> org.sprimework.boot> <strifactid> spring-boot-starter-web </artifactid> </deperency> <dependency> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> <compope> test </scope> </dependency> </starter> <зависимость> <зависимости> <зависимости> <Зависимость> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <зависимости> <Зависимость <groupId> org.springframework.cloud </GroupId> <artifactId> spring-cloud-зависимости </artifactid> <sersion> brixton.sr5 </version> <sype> pom </type> <scope> import </scope> </repection> </resemendion> </repertinence>
Включить функцию Feign через аннотацию @enablefeignclients в основном классе приложения
Запустите файл feignapplication.java
@SpringbootApplication@enabletiscoveryclient@enablefeignclientspublic class feignapplication {public static void main (string [] args) {SpringApplication.run (feignApplication.class, args); }}Определить интерфейс сервисного интерфейса класс userclient.java
Используйте аннотацию @feignclient ("biz-service-0"), чтобы связать соответствующую службу Biz-Service-0 этого интерфейса
@Feignclient ("biz-service-0") открытый интерфейс userclient {@requestmapping (method = requestmethod.get, value = "/getUser") public user getUserinfo (); @Requestmapping (method = requestMethod.get, value = "/getUser") public String getUserInfoStr (); @Requestmapping (method = requestMethod.get, value = "/info") public String info ();}Вызовите USERCONTROLLER, указанный выше на веб -уровне, следующим образом
@Restcontrollerpublic class usercontroller {@autowired userclient userclient; @Requestmapping (value = "/getUserinfo", method = requestMethod.get) public user getUserinfo () {return userclient.getUserInfo (); } @RequestMapping (value = "/getUserInfoStr", method = requestMethod.get) public String getUserInfoStr () {return userclient.getUserInfoStr (); } @RequestMapping (value = "/info", method = requestMethod.get) public String info () {return userclient.info (); }} Application.properties переменные конфигурации
Spring.application.name = Feign-consumerserver.port = 8004eureka.client.serviceurl.defaultzone = http: // localhost: 8000/eureka/
Посетите http://127.0.0.1:8004/getuserinfo
Суммировать:
Фактически, метод службы вызовов HTTP инкапсулируется через Feign, так что клиент вызывает метод непосредственно, как вызов локального метода. Подобно тому, как разоблачение удаленных услуг в Даббо, разница в том, что Дуббо основан на частном двоичном протоколе, в то время как Файн, по сути, является клиентом HTTP.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.