springboot自动装配的实现(mybatis)
根据大牛的思路,结合自身的理解,看看mybatis的自动装配实现。
@SpringbootApplication注解:
注解 @EnableAutoConfiguration的源码:(位于SpringBootApplication同级包下)
查看EnableAutoConfigurationImportSelector.class:
查看getResource()的实现:
看下含有classpath路径的方法:
这里发现倒成了个绝路:
再去看看大牛的思路,不知道咋的直接跳这来了,继续看吧:
了解一下pring-boot-autoconfigure下的spring.factors:
可以看到,这里面并没有指明Mybatis默认会被装载:
不过没关系,看看mybatis的jar包下的内容:
所以,starter负责简化配置,autoconfigure负责自动装配。 了解!! 看看代码:
MybatisAutoConfiguration头部好多注解,后面都是接的前面分析过的特别重要的类。 有意思:
这里有个拦截器的数组歪,有趣有趣:
在看看:
应该是配置扫描相关类。 看看DataSoureAutoconguration呢:
它是原生的,默认就支持自动注入的。
差不多可以了。 看看斗罗大陆,打打游戏,真不能看了,要死了。克制自己学习的欲望!!!