四种方式给Spring容器注入组件

纯粹整理一下,感觉实战意义不大。

  1. 包扫描+组件标注注解(@Controller、@Service、@Repository等)

  2. @Bean导入第三方包里面的组件

  3. @Import快速给容器中导入一个组件

    • @Import(要导入到容器中的组件):id默认为全类名

    • @Import(ImportSelector的实现类):返回需要导入的组件的全类名数组

    • @Import(ImportBeanDefinitionRegister的实现类):手动注册bean到容器中

  4. 使用Spring提供的FactoryBean

后续:

收集了一段有趣的代码,在SpringBoot中用的可能会比较少,但是有时候想快速测一些东西时,还是可以用到的。

1
2
3
4
5
6

AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();

applicationContext.register(XXXConfiguration.class);
applicationContext.refresh();