Fegin 原理框架

2023-12-13 17:51:00

@EnableFeignClients

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(FeignClientsRegistrar.class)
public @interface EnableFeignClients {
   String[] value() default {};
   String[] basePackages() default {};
   Class<?>[] basePackageClasses() default {};
   Class<?>[] defaultConfiguration() default {};
   Class<?>[] clients() default {};
}

?@FeignClientsRegistrar

实现了spring 的接口ImportBeanDefinitionRegistrar,可以在启动时动态的生成BeanDefinition,并注册到BeanDefinitionRegistry,后续ApplicationContext可以根据这些BeanDefintion实例化Bean,并且注册到容器中。

简单来说,通过FeignClientsRegistrar,可以做到在应用开发者只提供接口的情况下,框架自动实现接口,并且自动注册到容器中。

文章来源:https://blog.csdn.net/hailang86/article/details/134975854
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。