接着上次的内容。
在配置类解析器中将根据配置类的注释信息进行解析,首先拿到所有扫描包中标注了@component、@controller、@configuration的类(这里都是自己定义的),然后进行了解析(递归)。下面是一个包扫描的过程:
这里我的类(配置了对于过期的session的策略)没有其他注解,只是实现了一个接口:
这里用递归的方式把类的所有接口中实现并且标注了@bean的方法添加到了配置类中
然后对父类也进行了处理:
这里用map存放解析好的数据:
总结一下:
在扫描到配置类之后,程序会对配置类进行解析。
解析流程主要是按注解的进行@import、@Bean methods、@ImportResource annotations、@ComponentScan、@PropertySource这些注解,以及类的父类、接口里实现了的方法都会被遍历到,然后把这些信息进行注册。
SpringBoot初始化过程源码解析(四)ComponentScan的启动调用解析
最新推荐文章于 2024-01-21 12:27:40 发布
本文深入探讨SpringBoot的初始化过程,重点关注ComponentScan的启动调用。通过配置类解析,递归扫描标记为@component、@controller、@configuration的类,解析接口中的@bean方法,并处理父类。整个过程涉及@import、@Bean methods、@ImportResource、@ComponentScan、@PropertySource等注解,以及类的继承和接口实现。
摘要由CSDN通过智能技术生成