关于第一个问题,你可以在运行时通过BeanDefinitionRegistry.registerBeanDefinition()方法声明Bean ,例如:
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(SomeClass.class); builder.addPropertyReference("propertyName", "someBean"); // add dependency to other bean builder.addPropertyValue("propertyName", somevalue); // set property value DefaultListableBeanFactory factory = (DefaultListableBeanFactory) context.getBeanFactory(); factory.registerBeanDefinition("beanName", builder.getBeanDefinition());也可以使用以下方式注册单例bean实例(已配置):
context.getBeanFactory().registerSingleton(beanName, singletonObject)



