基于自动配置和条件注解实现springboot

68 阅读1分钟
  1. 运行run方法,加载spring容器,注册传进来的class类
  2. 初始化class类上的注解,实例化对应的bean
  3. 启动tomcat,并指定servlet的入口和端口
  4. 通过@import加载没有扫描到的@configurration类
  5. 在configurration类加入tomcat和jetty两个带条件的bean(@ConditionalOnClass)
  6. 在条件实现类获取带条件bean的全类名,用类加载器加载,加载到了就返回true实例化改bean并放入容器
  7. 如果要import很多configurration可以通过spi接口加载
  8. 实现DeferredImportSelector类可以放到最后加载,如果程序员实现了一样的bean优先使用程序员的bean