SpringBoot初始化过程源码解析(四)ComponentScan的启动调用解析

接着上次的内容。
在配置类解析器中将根据配置类的注释信息进行解析,首先拿到所有扫描包中标注了@component、@controller、@configuration的类(这里都是自己定义的),然后进行了解析(递归)。下面是一个包扫描的过程:

这里我的类(配置了对于过期的session的策略)没有其他注解,只是实现了一个接口:
SpringBoot初始化过程源码解析(四)ComponentScan的启动调用解析_第1张图片
这里用递归的方式把类的所有接口中实现并且标注了@bean的方法添加到了配置类中

然后对父类也进行了处理:
SpringBoot初始化过程源码解析(四)ComponentScan的启动调用解析_第2张图片
这里用map存放解析好的数据:
SpringBoot初始化过程源码解析(四)ComponentScan的启动调用解析_第3张图片
总结一下:
在扫描到配置类之后,程序会对配置类进行解析。
解析流程主要是按注解的进行@import、@Bean methods、@ImportResource annotations、@ComponentScan、@PropertySource这些注解,以及类的父类、接口里实现了的方法都会被遍历到,然后把这些信息进行注册。

你可能感兴趣的:(java,spring)