SpringBoot自动配置/装配(SPI)

自己动手写一个启动器的经历:

这里报错了,原因是只导入了一个bean而SpringBoot无法启动服务器

解决办法一:将@Import改成@ConponentScan这样就会扫描同级包和子包。

解决办法二:关闭web服务器


自动装配的大概流程:@EnableAutoConfiguration目的是自动装配在Maven中的第三方依赖,然后通过@Import(seleter)导入selecter,再通过selecter找到对应的.factories文件最终加载了打上@Configuration的文件。

首先开启了自动装配

通过Selector方法返回对应的类的名字


SPI机制/思想

SPI全名为Service Provider Interface

模块 实现方案

|  |  |  |  |  |  |              方案A

调用方 标准服务接口    方案B

|  |  |  |  |  |  |              方案C

基于interface + 策略模式 + 配置模式

整体解决方案的变化

与@Primary@条件注解的区别:具体/粒度小。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容