一 Eureka的启动过程
在创建一个Eureka的Server项目工程中,第一步我们需要导入Eureka的Server依赖,如下图所示:
然后创建一个EurekaService的服务启动类,这里的关于eureka的yml配置文件我就不做过多说明,启动类如下图所示:
导入这个依赖之后,maven工程会下载如下所示的jar包,在截图之外的还有一些jar这里我就不做过多的截图了,今天分析Eureka的源码,那么我们只需要找出核心的jar即可,下图中我标注出来的红色的jar即是今天的重点。也是Eureka源码分析的入口。spring-cloud-netflix-eureka-server-2.1.0.RELEASE.jar
在spring-cloud-netflix-eureka-server-2.1.0.RELEASE.jar中可以看到在META-INF目录下有一个spring.factories文件,看到这个文件,我们的第一直觉告诉我们,这个文件便是springboot的自动装配文件。
打开spring.factories文件,我们可以看到有配置了一个springboot的EnableAutoConfiguration
配置了EurekaServerAutoConfiguration类,看到这里我们就明白了,springcloud充分利用了springboot的自动装配的特性,在EurekaServer启动服务的时候会去自动装配EurekaServerAutoConfiguration这个类。由此可见,EurekaServer的启动便是由这里开始的。