From fcb6709158b7ac357241401d6ce295bdbee28d0d Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 19 Jul 2018 11:45:40 +0900 Subject: [PATCH] Add null guards for getBeanDefinition() in BeanTypeRegistry --- .../condition/BeanTypeRegistry.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/BeanTypeRegistry.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/BeanTypeRegistry.java index d013cc55bd9c..541595488988 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/BeanTypeRegistry.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/BeanTypeRegistry.java @@ -155,7 +155,10 @@ else if (!this.beanFactory.isAlias(name)) { } private void addBeanTypeForNonAliasDefinition(String name) { - addBeanTypeForNonAliasDefinition(name, getBeanDefinition(name)); + RootBeanDefinition beanDefinition = getBeanDefinition(name); + if (beanDefinition != null) { + addBeanTypeForNonAliasDefinition(name, beanDefinition); + } } private RootBeanDefinition getBeanDefinition(String name) { @@ -215,11 +218,13 @@ private void updateTypesIfNecessary() { if (!this.beanFactory.isAlias(name) && !this.beanFactory.containsSingleton(name)) { RootBeanDefinition beanDefinition = getBeanDefinition(name); - RootBeanDefinition existingDefinition = this.beanDefinitions.put(name, - beanDefinition); - if (existingDefinition != null - && !beanDefinition.equals(existingDefinition)) { - addBeanTypeForNonAliasDefinition(name, beanDefinition); + if (beanDefinition != null) { + RootBeanDefinition existingDefinition = this.beanDefinitions + .put(name, beanDefinition); + if (existingDefinition != null + && !beanDefinition.equals(existingDefinition)) { + addBeanTypeForNonAliasDefinition(name, beanDefinition); + } } } }