public static ApplicationContext buildAppContext(ApplicationContext parent, Stream<TestBean> beans, Collection<BeanFactoryPostProcessor> postProcessors) {
final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
final GenericApplicationContext applicationContext = new GenericApplicationContext(beanFactory, parent);
postProcessors.forEach(applicationContext::addBeanFactoryPostProcessor);
beans.forEach(entry -> {
final String factoryBean = entry.getName() + "_factory";
beanFactory.registerSingleton(factoryBean, (Supplier<Object>) entry::getBean);
beanFactory.registerBeanDefinition(entry.getName(), BeanDefinitionBuilder
.rootBeanDefinition(entry.getBean() != null ? entry.getBean().getClass() : Object.class)
.setFactoryMethodOnBean("get", factoryBean)
.getBeanDefinition());
});
applicationContext.refresh();
return applicationContext;
}
ApplicationContextCreator.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:springmock
作者:
评论列表
文章目录