@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);