public class DemoUtil {
@Autowired
private ApplicationContext applicationContext;
//添加bean
public void addBean(String beanName, Class<?> beanClass) {
BeanDefinitionRegistry beanDefinitionRegistry = (BeanDefinitionRegistry) applicationContext.getAutowireCapableBeanFactory();
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(beanClass);
BeanDefinition beanDefinition = beanDefinitionBuilder.getBeanDefinition();
if (!beanDefinitionRegistry.containsBeanDefinition(beanName)) {
beanDefinitionRegistry.registerBeanDefinition(beanName, beanDefinition);
}
}
//移除bean
public void removeBean(String beanName) {
BeanDefinitionRegistry beanDefinitionRegistry = (BeanDefinitionRegistry) applicationContext.getAutowireCapableBeanFactory();
beanDefinitionRegistry.getBeanDefinition(beanName);
beanDefinitionRegistry.removeBeanDefinition(beanName);
}
}
从spring容器中动态添加或移除bean
最新推荐文章于 2025-04-10 14:24:55 发布