Spring bean的注入方式

  1. @ComponentScan + @Controller等注解
  2. 组件中@Bean注解的方法
    常用于注入第三方类

日常开发中上述两种最常用

  1. 组件上@Import
    1. @Import注入指定的类
    2. @Import中指定实现ImportSlector接口的类,注入所有返回的全类名
    3. @Import中指定实现ImportBeanDefinitionRegistrar接口的类
  2. 向容器中注入FactoryBean
@Component
public class MyFactoryBean implements FactoryBean<RainBow> {
    @Override
    public RainBow getObject() {
        return new RainBow();
    }

    @Override
    public Class<?> getObjectType() {
        return RainBow.class;
    }

    @Override
    public boolean isSingleton() {
        return FactoryBean.super.isSingleton();
    }
}

此种方式下注入的Bean默认名称为类名,本例中为myFactoryBean,获取对象为RainBow实例。
具体如下:
QQ截图20211024205628.png

Q.E.D.


一切很好,不缺烦恼。