Spring bean的注入方式
- @ComponentScan + @Controller等注解
- 组件中@Bean注解的方法
常用于注入第三方类
日常开发中上述两种最常用
- 组件上@Import
- @Import注入指定的类
- @Import中指定实现ImportSlector接口的类,注入所有返回的全类名
- @Import中指定实现ImportBeanDefinitionRegistrar接口的类
- 向容器中注入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实例。
具体如下:
Q.E.D.