@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