软件从之前的整体,一步步拆分,已经形成了数量庞大的各类组件,比如web,各类数据库,中间层,日志,监控,邮 件,以及分布式组件以方便软件的灵活装配。随着个功能插件的拆分重新组合,以往的spring需要进行大量的配置文件来 装配组件。大部分的组件其配置过程是固定的,只有少部分是变化的,因此为方便开发,就有了springboot,以及默认优 于配置的设计理念。自动配置原理
springBoot通过enableAutoConfigation注解开启自动配置,通过spring.factories文件配置的各种类名注册配置类,通过配置类上的Condition注解的条件,判断是否要实例化该配置类。如果从starters中或spring容器中获得condition中满足条件的类,就完成自动装配。
enableAutoConfig注解关键的源代码
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration{
String ENABLE_OVERRIDE_PROPERTY="spring.boot.enableautoconfigation";
}



