springcloud容器
springCloud中不只存在了一个Spring容器,会进行多次创建Spring容器,来形成父子容器
- BootStrap上下文:由SpringCloud监听器创建,用来初始化SpringCloud上下文,该容器是祖先容器
- SpringBoot上下文:由SpringBoot创建
- 微服务配置上下文:Feign和Ribbon配置类对应的上下文,由配置容器抽象工厂NamedContextFactory创建,用于容器隔离
BootStrap上下文
用于初始化bootstrap.properties(yml)配置文件的,是springcloud中BootstrapApplicationListener监听器在监听ApplicationEnvironmentPreparedEvent来进行创建的
由该代码触发
1 | listeners.environmentPrepared(environment); |
SpringBoot上下文
也就是平时用的最多的spring容器
微服务配置上下文
主要的实现类有FeignContext、LoadBalancerClientFactory、SpringClientFactory