@Import 注解主要添加在配置类上,它的作用是添加不同的组件到项目容器中,通过调用指定类的无参构造函数创建 Bean 对象并注册到容器中
- 在配置类上添加 @Import 注解并引入 User 对象
({User.class})
public class AppConfig {
}
- 在启动类中打印出 User Bean 对象的实例名
class SpringbootStudyApplication {
public static void main(String[] args) {
// 1.返回 IOC 容器
ConfigurableApplicationContext context = SpringApplication.run(SpringbootStudyApplication.class, args);
// 2.拿到通过 @Import 注解注册的 User Bean 对象
String[] beanNames = context.getBeanNamesForType(User.class);
for (String beanName : beanNames) {
System.out.println(beanName); // com.study.springboot.entity.User
}
}
}
public
我们发现,通过 @Import 注解引入的 User Bean 对象的实例名是类的全路径,这和 @Bean 注解注册的 Bean 对象的实例名是有差别的, @Bean 注解如果没有指定 Bean 名字的话,默认名字是方法名。