结论先行
@Import(要导入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名
组件
package com.ouyangxizhu.bean;
public class Color {
}
配置类
package com.ouyangxizhu.config;
import com.ouyangxizhu.bean.Color;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import({Color.class})//可写多个,因为是一个数组
public class MainConfigImport {
}
工具类
package com.ouyangxizhu.utils;
import com.ouyangxizhu.config.MainConfigImport;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class PrintBeanDefinitionNames {
public static void printBeanNames(Class<?> clazz) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(clazz);
String[] beanDefinitionNames = context.getBeanDefinitionNames();
for (String name : beanDefinitionNames) {
System.out.println(name);
}
}
}
启动类
package com.ouyangxizhu;
import com.ouyangxizhu.config.MainConfigImport;
import com.ouyangxizhu.utils.PrintBeanDefinitionNames;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MainTestImport {
public static void main(String[] args) {
PrintBeanDefinitionNames.printBeanNames(MainConfigImport.class);
}
}
结果
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalRequiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.event.internalEventListenerProcessor
org.springframework.context.event.internalEventListenerFactory
mainConfigImport
com.ouyangxizhu.bean.Color
结论
@Import(要导入到容器中的组件,这里可以是数组形式,即{组件1,组件2});容器中就会自动注册这个组件,id默认是全类名