有没有办法动态创建依赖于另一个bean的bean?
我有一个Spring Boot应用程序,它将configuration.xml
文件加载到配置bean中。我想在尝试创建依赖于该配置bean的新动态bean时加载配置。
我到目前为止尝试的是实现BeanDefinitionRegistryPostProcessor
,但在我尝试创建新GenericBeanDefinition
的那一刻,配置尚未加载。这是我的代码:
@Component
public class MyPostProcessor implements BeanDefinitionRegistryPostProcessor {
@Autowired
private Configuration configuration;
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
List<Cars> cars= configuration.getCars();
for (Car car: cars) {
Motor motor = car.getMotor();
GenericBeanDefinition genericBeanDefinition = new GenericBeanDefinition();
genericBeanDefinition.setBeanClass(DynamicBean.class);
genericBeanDefinition.getConstructorArgumentValues().addGenericArgumentValue(motor);
((BeanDefinitionRegistry) beanFactory).registerBeanDefinition(car.getId(), genericBeanDefinition);
}
}
我在这里得到NullPointerException
:List<Cars> cars= configuration.getCars();
感谢。