码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot的自动配置原理过程解析

时间:2018-10-09 23:56:11      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:cto   style   col   http   conf   ica   .com   bsp   解析   

SpringBoot的最大好处就是实现了大部分的自动配置,使得开发者可以更多的关注于业务开发,避免繁琐的业务开发,但是SpringBoot如此好用的

自动注解过程着实让人忍不住的去了解一番,因为本文的注解解析过程会持续更新本部分,所以首先从简单的自动配置原理过程进行描述,后边在

学习完注解驱动开发后,进行更深入的记录;

 

自动配置原理过程解析:

万事都从SpringBoot的入口出发,首先看到入口的注解 

@SpringBootApplication

技术分享图片

该注解的详细实现:

技术分享图片

@EnableAutoConfiguration

 该注解主要利用了 @import(EnableAutoConfigurationImportSelector.class ) 选择器来导入一些自动配置(@import是用来进行导组件);

 进入 EnableAutoConfigurationImportSelector.class 类,然后进入父类 AutoConfigurationImportSelector 

 技术分享图片

进入其父类:

技术分享图片

具体看该类的方法 selectImports() 方法:

 技术分享图片

进入 getCandidateConfigurations( 方法中; 该方法中 存在一个 SpringFactoriesLoader.loadFactoryNames 方法;

技术分享图片

 在 loadFactoryNames 方法中 通过 classLoader.getResources 方法 得到 目标资源

 技术分享图片

 进入 FACTORIES_RESOURCE_LOCATION 

技术分享图片

然后重新回到 loadFactoryNames 继续往下看:

技术分享图片

然后重点看 factoryClassName 这个类

技术分享图片

点进入查看详细代码:

技术分享图片

 

技术分享图片

 

SpringBoot的自动配置原理过程解析

标签:cto   style   col   http   conf   ica   .com   bsp   解析   

原文地址:https://www.cnblogs.com/gxyandwmm/p/9763732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!