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
测试:发现确实被注入进来了
本文作者:KwFruit
本文链接:https://www.cnblogs.com/mangoubiubiu/p/15063699.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
Spring注解驱动开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步