向spring容器中加入bean的几种方式:
-
@Configuration + @Bean
-
@ComponentScan + @Component
-
@Import 配合接口进行导入
1.@Import 直接导入类
2.@Import +ImportSelector
3.@Import +ImportBeanDefinitionRegister
4.@Import +DeferredImportSelector -
使用FactoryBean。
-
实现BeanDefinitionRegistryPostProcessor进行后置处理。
注解声明Bean:
- 使用@Component等派生注解
- 使用@Configuration和@Bean注解
引入外部jar 包的Bean:
- 使用@ComponentScan注解
- 使用@Import注解
- META-INF 目录下新建文件spring.factories
实现一些SDK 或者Sring boot starter 的时候,可以使用Factories机制,Factories机制可以让SDK或者Stater的使用只需要很少或者不需要进行配置,只需要在服务中引入我们的Jar包即可。