组件注册-@Import-给容器中快速导入一个组件

给容器中注册组件的方法:

1、包扫描+组件标注注解【@Controller、@Service、@Repository、@Component】

2、@Bean【导入第三方包里的组件】

3、@Import【快速给容器中导入一个组件】

  1)、Import(要导入容器中的组件):容器会自动注册这个组件,id默认是全类名

  2)、ImportSelector:返回需要导入的组件的全类名数组

  3)、ImportBeanDefinitionRegistrar:手动注册bean到容器

  4)、使用Spring提供的FactoryBean,默认获取到的是调用getObject()创建的对象

@Configuration
@ComponentScan("com.yyc")
@Import({Person.class})
public class MainConfig2 {

    @Lazy
    @Bean("person")
    public Person person() {
    }

    @Bean
    @Conditional({WindowsCondition.class})
    public Person person01() {
    }
}

Peson不符合第一种情况,而且也没有在配置类中使用@Bean注册,此时可以用@Import进行导入

原文地址:https://www.cnblogs.com/AyasatoMayoi/p/10912801.html