Browse Source

Polishing

pull/29521/head
Sam Brannen 3 years ago
parent
commit
796b8c1278
  1. 4
      spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
  2. 10
      spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java

4
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java

@ -975,8 +975,8 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
return (FactoryBean<?>) bw.getWrappedInstance(); return (FactoryBean<?>) bw.getWrappedInstance();
} }
Object beanInstance = getSingleton(beanName, false); Object beanInstance = getSingleton(beanName, false);
if (beanInstance instanceof FactoryBean) { if (beanInstance instanceof FactoryBean<?> factoryBean) {
return (FactoryBean<?>) beanInstance; return factoryBean;
} }
if (isSingletonCurrentlyInCreation(beanName) || if (isSingletonCurrentlyInCreation(beanName) ||
(mbd.getFactoryBeanName() != null && isSingletonCurrentlyInCreation(mbd.getFactoryBeanName()))) { (mbd.getFactoryBeanName() != null && isSingletonCurrentlyInCreation(mbd.getFactoryBeanName()))) {

10
spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java

@ -1342,11 +1342,11 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
Class<?> type = descriptor.getDependencyType(); Class<?> type = descriptor.getDependencyType();
Object value = getAutowireCandidateResolver().getSuggestedValue(descriptor); Object value = getAutowireCandidateResolver().getSuggestedValue(descriptor);
if (value != null) { if (value != null) {
if (value instanceof String) { if (value instanceof String strValue) {
String strVal = resolveEmbeddedValue((String) value); String resolvedValue = resolveEmbeddedValue(strValue);
BeanDefinition bd = (beanName != null && containsBean(beanName) ? BeanDefinition bd = (beanName != null && containsBean(beanName) ?
getMergedBeanDefinition(beanName) : null); getMergedBeanDefinition(beanName) : null);
value = evaluateBeanDefinitionString(strVal, bd); value = evaluateBeanDefinitionString(resolvedValue, bd);
} }
TypeConverter converter = (typeConverter != null ? typeConverter : getTypeConverter()); TypeConverter converter = (typeConverter != null ? typeConverter : getTypeConverter());
try { try {
@ -2125,11 +2125,11 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
return resolveStream(true); return resolveStream(true);
} }
@SuppressWarnings("unchecked") @SuppressWarnings({ "unchecked", "rawtypes" })
private Stream<Object> resolveStream(boolean ordered) { private Stream<Object> resolveStream(boolean ordered) {
DependencyDescriptor descriptorToUse = new StreamDependencyDescriptor(this.descriptor, ordered); DependencyDescriptor descriptorToUse = new StreamDependencyDescriptor(this.descriptor, ordered);
Object result = doResolveDependency(descriptorToUse, this.beanName, null, null); Object result = doResolveDependency(descriptorToUse, this.beanName, null, null);
return (result instanceof Stream ? (Stream<Object>) result : Stream.of(result)); return (result instanceof Stream stream ? stream : Stream.of(result));
} }
} }

Loading…
Cancel
Save