Integración de SpringCloud Zookeeper Feign y principio de Feign
pom.xml es el siguiente:
bootstrap.yml es el siguiente:
Finalmente, abra el registro y descubrimiento del servicio
Servicio e implementación del controlador
El autor ha agregado swagger Si es necesario, simplemente agregue las siguientes dependencias y configuraciones:
En este punto, la integración de Spring Cloud y Zookeeper está completa, y el Los resultados de la llamada son los siguientes:
Para probar la integración con Feign, cree otro consumidor: similar al proceso de compilación anterior.
pom.xml Agregue dependencia spring-cloud-starter-openfeign
bootstrap.yaml:
Habilite el registro y descubrimiento de servicios, la anotación @EnableFeignClients registra FeignClient
p>@ FeignClient La declaración de registro define FeignClient. Definí dos FeignClient de dos maneras:
1. Defina FeignClient a través de la ruta de solicitud
2. A través de la producción La definición de la interfaz. FeignClient expuesto por helloService creado sobre Feign, usted sabe cómo usarlo y, lo que es más importante, conoce los principios que contiene y sabe qué es y por qué.
A través de la descripción anterior del proceso de integración, puede encontrar que las anotaciones @EnableFeignClients y @FeignClient son una parte importante de la integración de Feign y Spring Cloud, así que comience a comprender Feign a partir de estas dos anotaciones. .
La anotación @ EnableFeignClients introduce FeignClientsRegistrar a través de @Import, que se usa para registrar clientes Feign, y FeignClientsRegistrar implementa ImportBeanDefinitionRegistrar, que se usa para registrar beans en el contenedor Spring:
Hasta ahora , sabemos que al usar las anotaciones @EnableFeignClients y @FeignClient y sus propiedades relacionadas, podemos registrar cada cliente Feign, su configuración correspondiente y la configuración común de cada cliente como un Bean en el contenedor Spring al iniciar el servicio.
Cuando un FeignClient se inyecta automáticamente usando la anotación @Autowired, el contenedor Spring generará una instancia de FeignClient usando el FeignClientFactoryBean usado para registrar FeignClient.
El objetivo predeterminado utilizado es HystrixTargeter, que establece diferentes propiedades según el tipo de constructor y genera el cliente Feign.
A través del análisis anterior, podemos concluir: cuando el servicio Al inicio , use la anotación @EnableFeignClients para comenzar a inyectar instancias de FeignClient en la anotación @FeignClient anotada, comience a escanear y registrar clases marcadas con la anotación @FeignClient y registre FeignClient con el contenedor Spring a través de FeignClientFactoryBean. Cuando se utiliza la anotación @Autowired para la inyección automática, FeignClient se registra en el contenedor Spring y se inyecta como un proxy dinámico que contiene manejadores de métodos de métodos de interfaz para manejar el reenvío de llamadas.