@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;//User为我们创建的一个组件,
@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方法获取组件的类型String s= Arrays.toString(run.getBeanNamesForType(User.class));System.out.println(s);//获取第三方jar包提供的自动装配类DBHelperDBHelper dbHelper=run.getBean(DBHelper.class);System.out.println(dbHelper);//获取我们创建的其他配置类---MyConfigMyConfig 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