Spring源码非常多,不要迷失在源码的汪洋大海里,抓住主要脉络,有需要再研究即可。
Bean的初始化
1.发现所有的bean
ComponentScanAnnotationParser.parse()调用doScan()扫包
这里只是扫用户定义的bean,系统的自然不用扫
ClassPathBeanDefinitionScanner.doScan
protected Set<BeanDefinitionHolder> doScan(String... basePackages) {
Assert.notEmpty(basePackages, "At least one base package must be specified");
S