import注解的作用
@Import注解作用是导入一个或多个Spring bean,具体包括以下几种用法:
1导入普通类:将普通类变为Spring bean。这意味着,通过@Import注解,可以将不在Spring Boot的包扫描路径下的文件加载到容器里面,前提是这些类有一个无参的构造器。
2导入@Configuration类:@Configuration注解的类成为Spring bean,该类中的@Bean注解的方法也变为Spring bean。在应用启动类上使用@ComponentScan也能让@Configuration生效。
3导入ImportSelector的实现类:ImportSelector接口中定义了方法selectImports,它返回字符串数组,里面是类的全路径。使用@Import导入ImportSelector的实现类,就是将selectImports方法返回的类注册为Spring bean。
4导入ImportBeanDefinitionRegistrar的实现类:ImportBeanDefinitionRegistrar接口中定义了方法registerBeanDefinitions,它的功能就是通过BeanDefinitionRegistry实例注册Spring bean。
@Import注解可以声明在类级别上,或者作为一个元注解使用。此外,如果需要引入XML或其他类型的文件,可以使用@ImportResource注解代替@Import注解。@Import注解的属性值放的是Class的数组,这里也可以把不在Spring Boot的包扫描路径下的文件加载到容器里面。