@Autowired
private ApplicationContext applicationContext;
//将applicationContext转换为ConfigurableApplicationContext
ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) applicationContext;
// 获取bean工厂并转换为DefaultListableBeanFactory
DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) configurableApplicationContext.getBeanFactory();
// 通过BeanDefinitionBuilder创建bean定义
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(DriverManagerDataSource.class);
// 设置属性 需要有set方法
beanDefinitionBuilder.addPropertyValue("driverClassName", dbVo.getDriverClassName());
beanDefinitionBuilder.addPropertyValue("url", dbVo.getUrl());
beanDefinitionBuilder.addPropertyValue("username", dbVo.getUsername());
beanDefinitionBuilder.addPropertyValue("password", dbVo.getPassword());
//设置属性依赖的bean
beanDefinitionBuilder.addPropertyReference("name","beanName");
// 注册bean
defaultListableBeanFactory.registerBeanDefinition("beanName", beanDefinitionBuilder.getRawBeanDefinition());
//删除bean
defaultListableBeanFactory.removeBeanDefinition(beanName);