spring注入的方式总结

1、xml文件声明注入

2、注解扫描 @ComponentScan @Component @Repository @Service

3、java配置方式 @Configuration @Bean

4、@Import

  1. 指定类型
@Import({HelloService.class})
public class AppConfig {

}

  1. 实现ImportSelector
@Import({MyImport.class})
public class AppConfig {
}

public class MyImport implements ImportSelector {
    public String[] selectImports(AnnotationMetadata annotationMetadata) {
        return new String[]{"com.run.HelloService"};
    }
}

  1. 实现ImportBeanDefinitionRegistrar
@Import({MyImport.class})
public class AppConfig {
}
public class MyImport implements ImportBeanDefinitionRegistrar {
    public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
        //指定bean定义信息(包括bean的类型、作用域...)
        RootBeanDefinition rootBeanDefinition=new RootBeanDefinition(HelloService.class);
        //注册一个bean指定bean名字(id)
        registry.registerBeanDefinition("TestDemo4444",rootBeanDefinition);
    }
}

posted @ 2020-06-09 16:04  惬意的小屋  阅读(220)  评论(0编辑  收藏  举报