SpringBootApplication -> 启动类最头上的哪个注解它是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合
@Configuration -> 允许在上下文中自己注册的 bean 或导入其他配置类@ComponentScan -> 扫描被@Component注解的 bean@EnableAutoConfiguration -> 启用 SpringBoot 的自动配置机制 EnableAutoConfiguration 这也是一个组合的注解反正最终就是用@import这个注解导入了2个类
一个类是将我们当前包下的Bean扫描注册到容器 -> AutoConfigurationPackages.Registrar.class另一个类就是有个方法会将超级多的类加载到容器中,这个方法会在run方法执行的时候被调用到
spring.factories -> 配置文件里面很多要加载的类不仅Spring Boot自动配置包下面又这个文件,所有starter包都会有一个这个文件我们自己写一个starter也要一个这样的文件去加载的读取所有需要自动装配的配置类 并不会到加载,会根据@ConditionalOnXXX注解的条件去判断哪些是我们需要用的才加载的
@import + @Configuration + Spring spi
⾃动配置类由各个starter提供,使⽤**@Configuration + @Bean定义配置类**
放到meta-INF/spring.factories下
使⽤@import导⼊⾃动配置类
什么是 SpringBoot 自动装配
通过注解或者一些简单的配置就能在 Spring Boot 的帮助下实现某块功能
Redis丶AOP丶Rabbit丶Kafka丶jdbc丶Elasticsearch等100来个呢只要引入一个starter就可以在自动装配时生效



