Consistent use of SCOPE_PROTOTYPE and SCOPE_SINGLETON constants
Closes gh-19905
This commit is contained in:
@@ -41,16 +41,18 @@ import org.springframework.lang.Nullable;
|
||||
public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement {
|
||||
|
||||
/**
|
||||
* Scope identifier for the standard singleton scope: "singleton".
|
||||
* Scope identifier for the standard singleton scope: {@value}.
|
||||
* <p>Note that extended bean factories might support further scopes.
|
||||
* @see #setScope
|
||||
* @see ConfigurableBeanFactory#SCOPE_SINGLETON
|
||||
*/
|
||||
String SCOPE_SINGLETON = ConfigurableBeanFactory.SCOPE_SINGLETON;
|
||||
|
||||
/**
|
||||
* Scope identifier for the standard prototype scope: "prototype".
|
||||
* Scope identifier for the standard prototype scope: {@value}.
|
||||
* <p>Note that extended bean factories might support further scopes.
|
||||
* @see #setScope
|
||||
* @see ConfigurableBeanFactory#SCOPE_PROTOTYPE
|
||||
*/
|
||||
String SCOPE_PROTOTYPE = ConfigurableBeanFactory.SCOPE_PROTOTYPE;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-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.
|
||||
@@ -51,15 +51,15 @@ import org.springframework.util.StringValueResolver;
|
||||
public interface ConfigurableBeanFactory extends HierarchicalBeanFactory, SingletonBeanRegistry {
|
||||
|
||||
/**
|
||||
* Scope identifier for the standard singleton scope: "singleton".
|
||||
* Custom scopes can be added via {@code registerScope}.
|
||||
* Scope identifier for the standard singleton scope: {@value}.
|
||||
* <p>Custom scopes can be added via {@code registerScope}.
|
||||
* @see #registerScope
|
||||
*/
|
||||
String SCOPE_SINGLETON = "singleton";
|
||||
|
||||
/**
|
||||
* Scope identifier for the standard prototype scope: "prototype".
|
||||
* Custom scopes can be added via {@code registerScope}.
|
||||
* Scope identifier for the standard prototype scope: {@value}.
|
||||
* <p>Custom scopes can be added via {@code registerScope}.
|
||||
* @see #registerScope
|
||||
*/
|
||||
String SCOPE_PROTOTYPE = "prototype";
|
||||
|
||||
@@ -311,7 +311,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||
public void autowireBean(Object existingBean) {
|
||||
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||
RootBeanDefinition bd = new RootBeanDefinition(ClassUtils.getUserClass(existingBean));
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(SCOPE_PROTOTYPE);
|
||||
bd.allowCaching = ClassUtils.isCacheSafe(bd.getBeanClass(), getBeanClassLoader());
|
||||
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
||||
initBeanWrapper(bw);
|
||||
@@ -331,7 +331,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||
bd = new RootBeanDefinition(mbd);
|
||||
}
|
||||
if (!bd.isPrototype()) {
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(SCOPE_PROTOTYPE);
|
||||
bd.allowCaching = ClassUtils.isCacheSafe(ClassUtils.getUserClass(existingBean), getBeanClassLoader());
|
||||
}
|
||||
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
||||
@@ -349,7 +349,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||
public Object createBean(Class<?> beanClass, int autowireMode, boolean dependencyCheck) throws BeansException {
|
||||
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||
RootBeanDefinition bd = new RootBeanDefinition(beanClass, autowireMode, dependencyCheck);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(SCOPE_PROTOTYPE);
|
||||
return createBean(beanClass.getName(), bd, null);
|
||||
}
|
||||
|
||||
@@ -357,7 +357,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||
public Object autowire(Class<?> beanClass, int autowireMode, boolean dependencyCheck) throws BeansException {
|
||||
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||
final RootBeanDefinition bd = new RootBeanDefinition(beanClass, autowireMode, dependencyCheck);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(SCOPE_PROTOTYPE);
|
||||
if (bd.getResolvedAutowireMode() == AUTOWIRE_CONSTRUCTOR) {
|
||||
return autowireConstructor(beanClass.getName(), bd, null, null).getWrappedInstance();
|
||||
}
|
||||
@@ -387,7 +387,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||
RootBeanDefinition bd =
|
||||
new RootBeanDefinition(ClassUtils.getUserClass(existingBean), autowireMode, dependencyCheck);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(SCOPE_PROTOTYPE);
|
||||
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
||||
initBeanWrapper(bw);
|
||||
populateBean(bd.getBeanClass().getName(), bd, bw);
|
||||
|
||||
@@ -1357,7 +1357,7 @@ public abstract class AbstractBeanFactory extends FactoryBeanRegistrySupport imp
|
||||
|
||||
// Set default singleton scope, if not configured before.
|
||||
if (!StringUtils.hasLength(mbd.getScope())) {
|
||||
mbd.setScope(RootBeanDefinition.SCOPE_SINGLETON);
|
||||
mbd.setScope(SCOPE_SINGLETON);
|
||||
}
|
||||
|
||||
// A bean contained in a non-singleton bean cannot be a singleton itself.
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.springframework.beans.MutablePropertyValues;
|
||||
import org.springframework.beans.PropertyAccessor;
|
||||
import org.springframework.beans.factory.BeanDefinitionStoreException;
|
||||
import org.springframework.beans.factory.CannotLoadBeanClassException;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.beans.factory.config.ConstructorArgumentValues;
|
||||
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
||||
import org.springframework.core.io.Resource;
|
||||
@@ -414,7 +415,7 @@ public class PropertiesBeanDefinitionReader extends AbstractBeanDefinitionReader
|
||||
|
||||
String className = null;
|
||||
String parent = null;
|
||||
String scope = GenericBeanDefinition.SCOPE_SINGLETON;
|
||||
String scope = BeanDefinition.SCOPE_SINGLETON;
|
||||
boolean isAbstract = false;
|
||||
boolean lazyInit = false;
|
||||
|
||||
@@ -442,8 +443,8 @@ public class PropertiesBeanDefinitionReader extends AbstractBeanDefinitionReader
|
||||
else if (SINGLETON_KEY.equals(property)) {
|
||||
// Spring 1.2 style
|
||||
String val = StringUtils.trimWhitespace((String) entry.getValue());
|
||||
scope = ("".equals(val) || TRUE_VALUE.equals(val) ? GenericBeanDefinition.SCOPE_SINGLETON :
|
||||
GenericBeanDefinition.SCOPE_PROTOTYPE);
|
||||
scope = ("".equals(val) || TRUE_VALUE.equals(val) ? BeanDefinition.SCOPE_SINGLETON :
|
||||
BeanDefinition.SCOPE_PROTOTYPE);
|
||||
}
|
||||
else if (LAZY_INIT_KEY.equals(property)) {
|
||||
String val = StringUtils.trimWhitespace((String) entry.getValue());
|
||||
|
||||
Reference in New Issue
Block a user