Spring 注入引用类 RuntimeBeanReference

青苗 青苗 | 376 | 2022-12-09

RuntimeBeanReference 用于在运行时去获取 BeanDefinition ,因为在我们创建这个 BeanDefinition 的时候我们只知道他的 beanName ,并不确定是否已经注册了,这个时候就需要用 RuntimeBeanReference

例如

candidateComponents.forEach(t -> {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(MapperFactoryBean.class);
    Class<?> beanClass = ClassUtils.forName(t.getBeanClassName());
    builder.addPropertyValue("mapperInterface", beanClass);
    builder.addPropertyValue("qcrud", new RuntimeBeanReference(Qcrud.class));
    registry.registerBeanDefinition(beanClass.getTypeName(), builder.getBeanDefinition());
});
文章标签: SpringBoot
推荐指数:

真诚点赞 诚不我欺~

Spring 注入引用类 RuntimeBeanReference

点赞 收藏 评论

关于作者

青苗
青苗

青苗幼儿园园长

等级 LV5

粉丝 19

获赞 47

经验 1182