自动装配
1.程序执行时,会解析@SpringBootApplication这个注解
2.点进注解
4.点进@EnableAutoConfiguration
5.点进AutoConfigurationImportSelector
表面意思,挑选一些和自动装配相关的类
6.往下翻
7.点进this.getCandidateConfigurations(annotationMetadata, attributes);
看看去哪里拿的
传进来的就是
8.点进loadFactoryNames
9.回到第6步
总结:Spring会自动扫所有类路径下的META-INF/spring.factories这个文件,把这些类都加载到缓存里面
思考
例如,jdbc为什么能自动装配
1.存在于spring.factories下的key为 org.springframework.boot.autoconfigure.EnableAutoConfiguration 下
3.仔细研读一下上面这个类
简单总结:
自己写自动装配怎么写
在classpath下建一个META-INFO/spring.factories 学者人家的key和value,value是你想注入的类
写个Properties类,放一些配置信息
在像注入的类里注入Properties类
就好了
人家的自带名单
自带的名单里没有mybatis
我们先引入mybatis
配置信息类

自动装配类
自动装配简单总结
- Spring在调用run方法时,会把类路径下的META-INFO下的spring.factories的值全部拿到,放入缓存
- 通过EnableAutoConfiguration这个注解会拿到缓存里的数据并进行过滤,留下key为EnableAutoConfiguration的对应的许多value值
- 会把这些value对应的所有的类加载到容器,实现自动装配