/** * 动态注册bean * * @author JohnGao */ public <T> void register(String beanName, Class<T> classType, Map<String, String> values) { ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) aContext; DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) configurableApplicationContext.getBeanFactory(); if (defaultListableBeanFactory.isBeanNameInUse(beanName)) { defaultListableBeanFactory.removeBeanDefinition(beanName); logger.info("beanName-->" + beanName + "成功删除"); } BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(classType); for (String key : values.keySet()) beanDefinitionBuilder.addPropertyValue(key, values.get(key)); defaultListableBeanFactory.registerBeanDefinition( beanName, beanDefinitionBuilder.getRawBeanDefinition()); logger.info("beanName-->" + beanName + "成功注册"); }