手动向容器注入Bean(在Bean实例化之前)

 

 在此步时做到 向容器手动注入Bean

实现 BeanDefinitionRegistryPostProcessor 接口

  1.重写方法:

public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) 
2.BeanDefinitionBuilder
BeanDefinitionBuilder mqBuilder = BeanDefinitionBuilder.genericBeanDefinition(RocketMQConsumer.class);

3.添加属性
mqBuilder.addConstructorArgValue(mqConsumerAnnotation.consumerGroup());
mqBuilder.addPropertyValue("mqCloudDomain", domainAddress);

4.注册
mqBuilder.setInitMethodName("start");
mqBuilder.setDestroyMethodName("shutdown");
registry.registerBeanDefinition(beanName + BEAN_FIX, mqBuilder.getBeanDefinition());


以下为Demo附上

 

 

 

 





















posted @ 2022-08-23 19:47  却道。此心安处是吾乡  阅读(250)  评论(0编辑  收藏  举报