Java教程

spring源码阅读(五)-Spring Import注解使用

本文主要是介绍spring源码阅读(五)-Spring Import注解使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

说明

我们再读源码时常常发现这个注解,近期在读dubbo源码 就使用到了此注解,究竟有什么用,在spring boot项目中尤其多

 

Import的作用

实现将打了@Import的注解注入到容器,以及@Import指定的类注入到容器

import的三种使用方式

直接注入指定类的方式

1.定义一个打上了Import的类

/**
 * student和BeanRegisterConfig都会初始化进入容器 student的beanName为类的全名称
 */
@Import({Student.class})
public class BeanRegisterConfig  {
}

2.main测试

public static void main(String[] args) {
        AnnotationConfigApplicationContext applicationContext=new AnnotationConfigApplicationContext(BeanRegisterConfig.class);  //这里的参数代表要做操作的类
        String [] names=applicationContext.getBeanDefinitionNames();
        for (String name:
        names) {
            System.out.println(name);
        }
    }

3.输出

 

导入ImportSelector

1.定义一个ImportSelector类

public class BeanRegisterImportSelector implements ImportSelector {

    /**
     *
     * @param importingClassMetadata 注解元数据
     * @return 返回值为要初始化的类的全名称
     */
    @Override
    public String[] selectImports(AnnotationMetadata importingClassMetadata) {
        for (String typeName :
                importingClassMetadata.getAnnotationTypes()) {
            System.out.println("typeName" + typeName);
        }
        //告诉容器初始化importtest.bean.Student
        return new String[]{"importtest.bean.Student"};
    }
}

1.定义一个打上了Import的类

 

这篇关于spring源码阅读(五)-Spring Import注解使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!