SpringBoot自动配置
1、现象
- 大家在使用SpringBoot时,如很多依赖组件无需自动进行配置与引用,直接在项目中定义类或接口直接进行注入即可使用
- 以MongoDB的操作模板类MongoTemplate来说,项目中并未手动声明,直接定义类名称注入即可使用。
2、原因
- 大家在使用SpringBoot都会在启动类加入@SpringBootApplication注解,首先都知道此注解是个组合注解,里面包含了@EnableAutoConfiguration,对应了spring.factories的中的自动配置,springboot使用SpringFactoriesLoader实现了spring.factories的检索
- 配置中声明了MongoDataAuthConfiguration类,里面就包含了MongoTemplate类的默认生成