交流
商城
MCN
登入
注册
首页
提问
分享
讨论
建议
公告
动态
发表新帖
发表新帖
nacos客户端 第1 章:AutoServiceRegistrationAutoConfiguration
分享
未结
0
1168
李延
LV6
2021-06-18
悬赏:20积分
# 加载 在spring-cloud-commons包的spring.factories文件中,我们看见下面内容:  我们看到自动加载了AutoServiceRegistrationAutoConfiguration类 我们继续看一下这个类 ```java @Configuration(proxyBeanMethods = false) @Import(AutoServiceRegistrationConfiguration.class) @ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", matchIfMissing = true) public class AutoServiceRegistrationAutoConfiguration { @Autowired(required = false) private AutoServiceRegistration autoServiceRegistration; @Autowired private AutoServiceRegistrationProperties properties; ``` 我们看到通过AutoWired注解注入了AutoServiceRegistration对象和AutoServiceRegistrationProperties。 而AutoServiceRegistrationProperties是注册中心的相关配置,它就在这个包内。 而对于AutoServiceRegistration对象不是一个必须的注入对象,我们注册中心的注册过程就再这个类中实现。我们下一步查看一下这个对象是在哪里加载的。 # AutoServiceRegistration加载 # 说明 本次我们是以nacos为例,里面的实现也是基于nacos。 # 加载 在nacos注册中心的包中我们看到这样的配置:  它自动加载了NacosServiceRegistryAutoConfiguration类。 我们看一下这个类 ```java public class NacosServiceRegistryAutoConfiguration { @Bean public NacosServiceRegistry nacosServiceRegistry( NacosDiscoveryProperties nacosDiscoveryProperties) { return new NacosServiceRegistry(nacosDiscoveryProperties); } @Bean @ConditionalOnBean(AutoServiceRegistrationProperties.class) public NacosRegistration nacosRegistration( ObjectProvider<List<NacosRegistrationCustomizer>> registrationCustomizers, NacosDiscoveryProperties nacosDiscoveryProperties, ApplicationContext context) { return new NacosRegistration(registrationCustomizers.getIfAvailable(), nacosDiscoveryProperties, context); } @Bean @ConditionalOnBean(AutoServiceRegistrationProperties.class) public NacosAutoServiceRegistration nacosAutoServiceRegistration( NacosServiceRegistry registry, AutoServiceRegistrationProperties autoServiceRegistrationProperties, NacosRegistration registration) { return new NacosAutoServiceRegistration(registry, autoServiceRegistrationProperties, registration); } } ``` 这里我们看到一共加载了3个对象,其中就有我们需要的NacosAutoServiceRegistration对象。它就是继承自AutoServiceRegistration。 我们之后的分析也是基于这几个对象进行的。
回帖
消灭零回复
提交回复
热议榜
java 相关知识分享
8
好的程序员与不好的程序员
6
写给工程师的十条精进原则
5
spring boot以jar包运行配置的logback日志文件没生成
5
一步一步分析SpringBoot启动源码(一)
5
MockMvc测试
5
【吐槽向】是不是有个吐槽的板块比较好玩
4
logstash jdbc同步mysql多表数据到elasticsearch
3
IntelliJ IDEA 优质License Server
3
.gitignore忽略规则
3
SpringBoot启动源码分析
3
一步一步分析SpringBoot启动源码(三)
3
2
一步一步分析SpringBoot启动源码(二)
2
积分不够将无法发表新帖
2
官方产品
Meta-Boot - 基于MCN
MCN - 快速构建SpringBoot应用
微信扫码关注公众号