@Import注解常规使用方法

@Import使用方法
准备工作:需要三个类
1.主程序类,用于执行程序
2.Myconfig类,作为导入组件时使用的类
3.User类,充当被导入的组件
主程序类:

/**
 * 这是一个主程序类
 * @SpringBootApplication:表明这是一个SpringBoot应用
 */
@SpringBootApplication
public class MainApplication {

    public static void main(String[] args) {
        //1、返回我们ioc容器
        ConfigurableApplicationContext run =
                SpringApplication.run(MainApplication.class, args);

    }
}

Myconfig类:

@Configuration
public class Myconfig {

}

User类:

public class User {

    private String name;

    private Integer age;

    public User(){

    }

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

@Import通过快速导入的方式实现把实例加入spring的IOC容器中
@Import需要写在容器中的一个组件的类上,这个类可以是其他组件,也可以是controller都行
Import直接翻译过来就有导入的意思。
进入@Import注解可以看到,它是一个class数组。也就是说我们可以通过该注解导入非常多的组件。
在这里插入图片描述

首先我们可以导入自己写的组件,比如User类
在这里插入图片描述

然后在主程序类打印出容器中创建的User类型组件

//获取组件
        String[] beanNamesForType = run.getBeanNamesForType(User.class);
        for (String s : beanNamesForType){
            System.out.println("---the s:"+s);
        }

在这里插入图片描述

通过左下角的红框中可以看到,刚刚导入的User组件已经创建成功了,它的名称默认为该类的全类名。
这是第一种可导入的类:导入自己编写的类。
还有第二种:可以导入jar包当中的类。
比如我们导入一个jar包中的DBHelper类
在这里插入图片描述

只需要将它的类名写再@Import中就可以了
在这里插入图片描述

同时呢,在主程序中打印出容器中DBHelper类型的组件

        DBHelper bean = run.getBean(DBHelper.class);
        System.out.println("---the bean:"+bean);

在这里插入图片描述

可以看到啊,容器中的组件都成功导入了,以上就是@Import的常规操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值