【285、Spring如何完成OpenFeign注册的?】

75 阅读1分钟

在Spring应用中,OpenFeign的注册是通过Spring的自动装配机制来完成的。当Spring容器启动时,会根据约定和条件自动装配一些组件,其中包括OpenFeign的相关组件。

OpenFeign的自动配置类是FeignAutoConfiguration,其中定义了一些Bean来支持OpenFeign的使用,包括FeignContextFeignEncoderFeignDecoderContractFeignLoggerFactory等。其中,FeignContext是一个工厂类,用于创建Feign客户端的代理实例。

在使用OpenFeign时,需要定义一个或多个接口来表示要调用的远程服务的API,同时需要使用@FeignClient注解标记这些接口。在使用@FeignClient注解时,可以指定远程服务的名称、请求的URL、Feign客户端配置、拦截器等等。

FeignAutoConfiguration中,定义了一个FeignClientSpecification类型的List对象,用于存储所有使用了@FeignClient注解的接口。这个List对象在启动时会自动被注入所有符合条件的@FeignClient注解标记的接口。

FeignAutoConfiguration中的feignContextfeignBuilderfeignContext等对象都是通过FeignClientSpecification中的接口和注解信息来创建和配置的。这些对象都被注入到Spring容器中,并可以在应用程序中使用。

总之,Spring使用自动装配机制完成了OpenFeign的注册,通过FeignAutoConfiguration自动装配一些组件,并将使用@FeignClient注解标记的接口注册到Spring容器中,使其可以被应用程序使用。