@Import
注解是Spring框架中的注解之一,用于导入其他配置类或者组件
@Import注解的作用有以下几点:
导入其他配置类:可以使用@Import注解导入其他的配置类,将其加入到当前配置类中,从而可以共享配置信息
导入其他组件:可以使用@Import注解导入其他的组件,将其加入到当前的容器中,从而可以使用这些组件
。
导入自动配置类:在Spring Boot中,可以使用@Import注解导入自动配置类,从而启用自动配置。
举例:
package com.springboot;
import ch.qos.logback.core.db.DBHelper;
import com.springboot.bean.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Import;
import java.util.Arrays;
@Import({User.class,DBHelper.class,MyConfig.class})
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
ConfigurableApplicationContext run= SpringApplication.run(MainApplication.class,args);
//通过getBeanNamesForType方法获取自定义组件user的全类名
String s= Arrays.toString(run.getBeanNamesForType(User.class));
System.out.println(s);
//获取第三方jar包提供的自动装配类DBHelper
DBHelper dbHelper=run.getBean(DBHelper.class);
System.out.println(dbHelper);
//获取我们创建的其他配置类---MyConfig
MyConfig myConfig=run.getBean(MyConfig.class);
System.out.println(myConfig);
}
}
输出:
//user01为我们在MyConfig配置类中添加的组件,类型为User,名称为user01
//com.springboot.bean.User:为我们创建的组件User
[user01, com.springboot.bean.User]
ch.qos.logback.core.db.DBHelper@7da10b5b
com.springboot.MyConfig@219f4597