跳到主要内容

【6】Ribbion配置类源码分析

文章目录

  • Ribbon 自动配置类
    • RibbonAutoConfiguration
  • RibbonClientConfiguration

Ribbon 自动配置类

基于Spring Boot 提供的自动配置功能,Ribbon 自动配置的类在org.springframework.cloud.netflix.ribbon包的RibbonClientConfigurationRibbonAutoConfiguration配置类中。
 

RibbonAutoConfiguration

RibbonAutoConfiguration相当于全局配置,主要是加载Ribbon 客户端工厂、配置类工厂、重试机制工厂等,这个配置类在启动的时候就会被加载。

首先看下RibbonAutoConfiguration配置类上的注解:

// 标记为配置类Bean
@Configuration
// 注入Bean条件,RibbonClassesConditions类去判断是否注入该Bean
@Conditional({

RibbonAutoConfiguration.RibbonClassesConditions.class})
// @RibbonClients为所有的Ribbon客户端提供默认配置, @RibbonClients标记该类被注册为一个 RibbonClientSpecification
@RibbonClients
// 在加载配置的类之后再加载当前类
@AutoConfigureAfter(
name = {

"org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration"}
)
// 在加载配置的类之前再加载当前类
@AutoConfigureBefore({

LoadBalancerAutoConfiguration.class, AsyncLoadBalancerAutoConfiguration.class})
// 使RibbonEagerLoadProperties、ServerIntrospectorProperties配置类生效
@EnableConfigurationProperties({

RibbonEagerLoadProperties.class, ServerIntrospectorProperties.class})