首页 > 其他分享 >手动向容器注入Bean(在Bean定义之后 实例化之前)

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

时间:2022-08-23 20:03:53浏览次数:55  
标签:容器 BeanDefinitionBuilder 手动 Bean 实例 registry mqBuilder

 

 在此步时做到 向容器手动注入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附上

 

 

 

 





















标签:容器,BeanDefinitionBuilder,手动,Bean,实例,registry,mqBuilder
From: https://www.cnblogs.com/zhaoyuxuan66/p/16617569.html

相关文章