From e1967f7238b44707582c6fd12590c413df817ac9 Mon Sep 17 00:00:00 2001 From: Dmytro Nosan Date: Wed, 27 Feb 2019 16:04:59 +0200 Subject: [PATCH] This commit checks the existence of 'dependsOn' beans before adding them to `BeanDefinition` --- .../AbstractDependsOnBeanFactoryPostProcessor.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java index 236d465d31e2..011845b882c7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2018 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,7 +74,9 @@ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) for (String beanName : getBeanNames(beanFactory)) { BeanDefinition definition = getBeanDefinition(beanName, beanFactory); String[] dependencies = definition.getDependsOn(); - for (String bean : this.dependsOn) { + String[] dependsOn = Arrays.stream(this.dependsOn) + .filter(beanFactory::containsBean).toArray(String[]::new); + for (String bean : dependsOn) { dependencies = StringUtils.addStringToArray(dependencies, bean); } definition.setDependsOn(dependencies);