首页 > 其他分享 >Springboot引入依赖自动注入bean的实现

Springboot引入依赖自动注入bean的实现

时间:2024-07-09 18:54:55浏览次数:20  
标签:Springboot spring bean 注册 引入 Import Configuration

简单总结springboot导入依赖后自动注册所需bean的原理
0、核心 @Conditional条件加载 + 配置文件
1、@Component或者@Configuration加@Bean直接写在第三方包里,行不行,不行,因为Spring扫描注解的包不一定包含这个。默认只扫主类同级和下级的包
2、使用者主动用@Import引入,这个也没能实现自动注册,可以直接引入(比如)User.class,也可引入@Configuration加@Bean的类
3、用自定义的@Enable封装一下第二步的@Import结果,好处是更好看点,缺点是还是需要使用者主动引入
4、@Import还可以通过实现ImportSelector和ImportBeanDefinitionRegister接口的方式引入User对象,但还是需要主动引入
5、使用spring.factories文件,里面用org.springframework.boot.autoconfiguration.EnableAutoConfiguration=要自动注册的类的全类名
原理:springboot主类启动时,会扫描类路径下的spring.factories,然后导入里面配置的类。
注意:通常来说一个第三方包都会注册很多的bean到容器中,因此spring.factories中可以写一个标注了@Configuration的类,引入了这个类,他下面所有的@Bean标注的方法注册的bean都会放到容器中了。我们往往可以通过搜索相应的AutoConfiguration.class(如MybatisAutoConfiguration.class)来看这个依赖到底引入了些什么bean

 

 

标签:Springboot,spring,bean,注册,引入,Import,Configuration
From: https://blog.csdn.net/m0_63246220/article/details/140287542

相关文章