spring源码学习

1.凌乱学习

  1. org.springframework.context.annotation.ConfigurationClassParser#doProcessConfigurationClass
    构建程序包下所有类的ConfiguraClass,这个地方会有ComponentScan的实现;并将解析的Class信息添加到DefaultListableBeanFactory.beanDefinitionMap中;
  2. Spring在创建Bean时,有可能会出现循环依赖的情况。为了解决这个问题,Spring会先创建所有的Bean实例,并且在后续的处理中,再进行依赖注入和初始化操作。
  3. @ConditionalOnMissingBean一种错误实现
    spring源码学习_第1张图片
    需要使用另一种方式实现@ConditionalOnMissingBean,参照如下
    spring源码学习_第2张图片
    或者直接参考org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

你可能感兴趣的:(spring,学习,spring,boot)