Java教程

Spring注解驱动开发——组件注册 @Import-使用ImportBeanDefinitionRegistrar

本文主要是介绍Spring注解驱动开发——组件注册 @Import-使用ImportBeanDefinitionRegistrar,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

实现类

package com.mongoubiubiu.condition;

import org.springframework.beans.factory.support.BeanDefinitionDefaults;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
import org.springframework.core.type.AnnotationMetadata;

import com.mongoubiubiu.bean.RainBow;

public class MyImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar{

    /**
     * AnnotationMetadata: 当前类的注解信息
     * BeanDefinitionRegistry:BeanDefinition的注册类
     */
    @Override
    public void registerBeanDefinitions(AnnotationMetadata arg0, BeanDefinitionRegistry registry) {

        boolean redExit =    registry.containsBeanDefinition("com.mongoubiubiu.bean.Red");
        boolean blueExit =    registry.containsBeanDefinition("com.mongoubiubiu.bean.Yellow");
        
        if(redExit && blueExit){
            RootBeanDefinition rootBeanDefinition   =    new RootBeanDefinition(RainBow.class);
            //指定bean名
            registry.registerBeanDefinition("RainBow", rootBeanDefinition);
        }


    }

}

Import 导入 ImportBeanDefinitionRegistrar

 

 测试:发现确实被注入进来了

 

这篇关于Spring注解驱动开发——组件注册 @Import-使用ImportBeanDefinitionRegistrar的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!