Consistent use of SCOPE_PROTOTYPE and SCOPE_SINGLETON constants
Closes gh-19905
This commit is contained in:
parent
7bed4f36da
commit
59e250c93c
|
|
@ -20,6 +20,7 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.aop.TargetSource;
|
import org.springframework.aop.TargetSource;
|
||||||
import org.springframework.beans.MutablePropertyValues;
|
import org.springframework.beans.MutablePropertyValues;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
import org.springframework.tests.sample.beans.SerializablePerson;
|
import org.springframework.tests.sample.beans.SerializablePerson;
|
||||||
|
|
@ -47,7 +48,7 @@ public class PrototypeBasedTargetSourceTests {
|
||||||
MutablePropertyValues pvs = new MutablePropertyValues();
|
MutablePropertyValues pvs = new MutablePropertyValues();
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(SerializablePerson.class);
|
RootBeanDefinition bd = new RootBeanDefinition(SerializablePerson.class);
|
||||||
bd.setPropertyValues(pvs);
|
bd.setPropertyValues(pvs);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
|
|
||||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||||
bf.registerBeanDefinition("ts", tsBd);
|
bf.registerBeanDefinition("ts", tsBd);
|
||||||
|
|
|
||||||
|
|
@ -41,16 +41,18 @@ import org.springframework.lang.Nullable;
|
||||||
public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement {
|
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.
|
* <p>Note that extended bean factories might support further scopes.
|
||||||
* @see #setScope
|
* @see #setScope
|
||||||
|
* @see ConfigurableBeanFactory#SCOPE_SINGLETON
|
||||||
*/
|
*/
|
||||||
String SCOPE_SINGLETON = 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.
|
* <p>Note that extended bean factories might support further scopes.
|
||||||
* @see #setScope
|
* @see #setScope
|
||||||
|
* @see ConfigurableBeanFactory#SCOPE_PROTOTYPE
|
||||||
*/
|
*/
|
||||||
String SCOPE_PROTOTYPE = 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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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 {
|
public interface ConfigurableBeanFactory extends HierarchicalBeanFactory, SingletonBeanRegistry {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scope identifier for the standard singleton scope: "singleton".
|
* Scope identifier for the standard singleton scope: {@value}.
|
||||||
* Custom scopes can be added via {@code registerScope}.
|
* <p>Custom scopes can be added via {@code registerScope}.
|
||||||
* @see #registerScope
|
* @see #registerScope
|
||||||
*/
|
*/
|
||||||
String SCOPE_SINGLETON = "singleton";
|
String SCOPE_SINGLETON = "singleton";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scope identifier for the standard prototype scope: "prototype".
|
* Scope identifier for the standard prototype scope: {@value}.
|
||||||
* Custom scopes can be added via {@code registerScope}.
|
* <p>Custom scopes can be added via {@code registerScope}.
|
||||||
* @see #registerScope
|
* @see #registerScope
|
||||||
*/
|
*/
|
||||||
String SCOPE_PROTOTYPE = "prototype";
|
String SCOPE_PROTOTYPE = "prototype";
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||||
public void autowireBean(Object existingBean) {
|
public void autowireBean(Object existingBean) {
|
||||||
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ClassUtils.getUserClass(existingBean));
|
RootBeanDefinition bd = new RootBeanDefinition(ClassUtils.getUserClass(existingBean));
|
||||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(SCOPE_PROTOTYPE);
|
||||||
bd.allowCaching = ClassUtils.isCacheSafe(bd.getBeanClass(), getBeanClassLoader());
|
bd.allowCaching = ClassUtils.isCacheSafe(bd.getBeanClass(), getBeanClassLoader());
|
||||||
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
||||||
initBeanWrapper(bw);
|
initBeanWrapper(bw);
|
||||||
|
|
@ -331,7 +331,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||||
bd = new RootBeanDefinition(mbd);
|
bd = new RootBeanDefinition(mbd);
|
||||||
}
|
}
|
||||||
if (!bd.isPrototype()) {
|
if (!bd.isPrototype()) {
|
||||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(SCOPE_PROTOTYPE);
|
||||||
bd.allowCaching = ClassUtils.isCacheSafe(ClassUtils.getUserClass(existingBean), getBeanClassLoader());
|
bd.allowCaching = ClassUtils.isCacheSafe(ClassUtils.getUserClass(existingBean), getBeanClassLoader());
|
||||||
}
|
}
|
||||||
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
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 {
|
public Object createBean(Class<?> beanClass, int autowireMode, boolean dependencyCheck) throws BeansException {
|
||||||
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(beanClass, autowireMode, dependencyCheck);
|
RootBeanDefinition bd = new RootBeanDefinition(beanClass, autowireMode, dependencyCheck);
|
||||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(SCOPE_PROTOTYPE);
|
||||||
return createBean(beanClass.getName(), bd, null);
|
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 {
|
public Object autowire(Class<?> beanClass, int autowireMode, boolean dependencyCheck) throws BeansException {
|
||||||
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||||
final RootBeanDefinition bd = new RootBeanDefinition(beanClass, autowireMode, dependencyCheck);
|
final RootBeanDefinition bd = new RootBeanDefinition(beanClass, autowireMode, dependencyCheck);
|
||||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(SCOPE_PROTOTYPE);
|
||||||
if (bd.getResolvedAutowireMode() == AUTOWIRE_CONSTRUCTOR) {
|
if (bd.getResolvedAutowireMode() == AUTOWIRE_CONSTRUCTOR) {
|
||||||
return autowireConstructor(beanClass.getName(), bd, null, null).getWrappedInstance();
|
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.
|
// Use non-singleton bean definition, to avoid registering bean as dependent bean.
|
||||||
RootBeanDefinition bd =
|
RootBeanDefinition bd =
|
||||||
new RootBeanDefinition(ClassUtils.getUserClass(existingBean), autowireMode, dependencyCheck);
|
new RootBeanDefinition(ClassUtils.getUserClass(existingBean), autowireMode, dependencyCheck);
|
||||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(SCOPE_PROTOTYPE);
|
||||||
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
BeanWrapper bw = new BeanWrapperImpl(existingBean);
|
||||||
initBeanWrapper(bw);
|
initBeanWrapper(bw);
|
||||||
populateBean(bd.getBeanClass().getName(), bd, 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.
|
// Set default singleton scope, if not configured before.
|
||||||
if (!StringUtils.hasLength(mbd.getScope())) {
|
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.
|
// 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.PropertyAccessor;
|
||||||
import org.springframework.beans.factory.BeanDefinitionStoreException;
|
import org.springframework.beans.factory.BeanDefinitionStoreException;
|
||||||
import org.springframework.beans.factory.CannotLoadBeanClassException;
|
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.ConstructorArgumentValues;
|
||||||
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
||||||
import org.springframework.core.io.Resource;
|
import org.springframework.core.io.Resource;
|
||||||
|
|
@ -414,7 +415,7 @@ public class PropertiesBeanDefinitionReader extends AbstractBeanDefinitionReader
|
||||||
|
|
||||||
String className = null;
|
String className = null;
|
||||||
String parent = null;
|
String parent = null;
|
||||||
String scope = GenericBeanDefinition.SCOPE_SINGLETON;
|
String scope = BeanDefinition.SCOPE_SINGLETON;
|
||||||
boolean isAbstract = false;
|
boolean isAbstract = false;
|
||||||
boolean lazyInit = false;
|
boolean lazyInit = false;
|
||||||
|
|
||||||
|
|
@ -442,8 +443,8 @@ public class PropertiesBeanDefinitionReader extends AbstractBeanDefinitionReader
|
||||||
else if (SINGLETON_KEY.equals(property)) {
|
else if (SINGLETON_KEY.equals(property)) {
|
||||||
// Spring 1.2 style
|
// Spring 1.2 style
|
||||||
String val = StringUtils.trimWhitespace((String) entry.getValue());
|
String val = StringUtils.trimWhitespace((String) entry.getValue());
|
||||||
scope = ("".equals(val) || TRUE_VALUE.equals(val) ? GenericBeanDefinition.SCOPE_SINGLETON :
|
scope = ("".equals(val) || TRUE_VALUE.equals(val) ? BeanDefinition.SCOPE_SINGLETON :
|
||||||
GenericBeanDefinition.SCOPE_PROTOTYPE);
|
BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
}
|
}
|
||||||
else if (LAZY_INIT_KEY.equals(property)) {
|
else if (LAZY_INIT_KEY.equals(property)) {
|
||||||
String val = StringUtils.trimWhitespace((String) entry.getValue());
|
String val = StringUtils.trimWhitespace((String) entry.getValue());
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,6 @@ import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.config.BeanExpressionContext;
|
import org.springframework.beans.factory.config.BeanExpressionContext;
|
||||||
import org.springframework.beans.factory.config.BeanExpressionResolver;
|
import org.springframework.beans.factory.config.BeanExpressionResolver;
|
||||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
import org.springframework.beans.factory.config.BeanPostProcessor;
|
||||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
|
||||||
import org.springframework.beans.factory.config.ConstructorArgumentValues;
|
import org.springframework.beans.factory.config.ConstructorArgumentValues;
|
||||||
import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter;
|
import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter;
|
||||||
import org.springframework.beans.factory.config.PropertiesFactoryBean;
|
import org.springframework.beans.factory.config.PropertiesFactoryBean;
|
||||||
|
|
@ -367,7 +366,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
@Test
|
@Test
|
||||||
void staticPrototypeFactoryMethodFoundByNonEagerTypeMatching() {
|
void staticPrototypeFactoryMethodFoundByNonEagerTypeMatching() {
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBeanFactory.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(TestBeanFactory.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.setFactoryMethodName("createTestBean");
|
rbd.setFactoryMethodName("createTestBean");
|
||||||
lbf.registerBeanDefinition("x1", rbd);
|
lbf.registerBeanDefinition("x1", rbd);
|
||||||
|
|
||||||
|
|
@ -423,7 +422,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition();
|
RootBeanDefinition rbd = new RootBeanDefinition();
|
||||||
rbd.setFactoryBeanName("factory");
|
rbd.setFactoryBeanName("factory");
|
||||||
rbd.setFactoryMethodName("createTestBeanNonStatic");
|
rbd.setFactoryMethodName("createTestBeanNonStatic");
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
lbf.registerBeanDefinition("x1", rbd);
|
lbf.registerBeanDefinition("x1", rbd);
|
||||||
|
|
||||||
TestBeanFactory.initialized = false;
|
TestBeanFactory.initialized = false;
|
||||||
|
|
@ -1181,11 +1180,11 @@ class DefaultListableBeanFactoryTests {
|
||||||
@Test
|
@Test
|
||||||
void reregisterBeanDefinition() {
|
void reregisterBeanDefinition() {
|
||||||
RootBeanDefinition bd1 = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition bd1 = new RootBeanDefinition(TestBean.class);
|
||||||
bd1.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd1.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
lbf.registerBeanDefinition("testBean", bd1);
|
lbf.registerBeanDefinition("testBean", bd1);
|
||||||
assertThat(lbf.getBean("testBean")).isInstanceOf(TestBean.class);
|
assertThat(lbf.getBean("testBean")).isInstanceOf(TestBean.class);
|
||||||
RootBeanDefinition bd2 = new RootBeanDefinition(NestedTestBean.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(NestedTestBean.class);
|
||||||
bd2.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd2.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
lbf.registerBeanDefinition("testBean", bd2);
|
lbf.registerBeanDefinition("testBean", bd2);
|
||||||
assertThat(lbf.getBean("testBean")).isInstanceOf(NestedTestBean.class);
|
assertThat(lbf.getBean("testBean")).isInstanceOf(NestedTestBean.class);
|
||||||
}
|
}
|
||||||
|
|
@ -1642,7 +1641,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
void getBeanByTypeInstanceWithAmbiguity() {
|
void getBeanByTypeInstanceWithAmbiguity() {
|
||||||
RootBeanDefinition bd1 = createConstructorDependencyBeanDefinition(99);
|
RootBeanDefinition bd1 = createConstructorDependencyBeanDefinition(99);
|
||||||
RootBeanDefinition bd2 = new RootBeanDefinition(ConstructorDependency.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(ConstructorDependency.class);
|
||||||
bd2.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd2.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bd2.getConstructorArgumentValues().addGenericArgumentValue("43");
|
bd2.getConstructorArgumentValues().addGenericArgumentValue("43");
|
||||||
lbf.registerBeanDefinition("bd1", bd1);
|
lbf.registerBeanDefinition("bd1", bd1);
|
||||||
lbf.registerBeanDefinition("bd2", bd2);
|
lbf.registerBeanDefinition("bd2", bd2);
|
||||||
|
|
@ -1777,10 +1776,10 @@ class DefaultListableBeanFactoryTests {
|
||||||
@Test
|
@Test
|
||||||
void getBeanWithArgsNotCreatedForFactoryBeanChecking() {
|
void getBeanWithArgsNotCreatedForFactoryBeanChecking() {
|
||||||
RootBeanDefinition bd1 = new RootBeanDefinition(ConstructorDependency.class);
|
RootBeanDefinition bd1 = new RootBeanDefinition(ConstructorDependency.class);
|
||||||
bd1.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd1.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
lbf.registerBeanDefinition("bd1", bd1);
|
lbf.registerBeanDefinition("bd1", bd1);
|
||||||
RootBeanDefinition bd2 = new RootBeanDefinition(ConstructorDependencyFactoryBean.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(ConstructorDependencyFactoryBean.class);
|
||||||
bd2.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd2.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
lbf.registerBeanDefinition("bd2", bd2);
|
lbf.registerBeanDefinition("bd2", bd2);
|
||||||
|
|
||||||
ConstructorDependency bean = lbf.getBean(ConstructorDependency.class, 42);
|
ConstructorDependency bean = lbf.getBean(ConstructorDependency.class, 42);
|
||||||
|
|
@ -1797,7 +1796,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
|
|
||||||
private RootBeanDefinition createConstructorDependencyBeanDefinition(int age) {
|
private RootBeanDefinition createConstructorDependencyBeanDefinition(int age) {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorDependency.class);
|
RootBeanDefinition bd = new RootBeanDefinition(ConstructorDependency.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bd.getConstructorArgumentValues().addGenericArgumentValue(age);
|
bd.getConstructorArgumentValues().addGenericArgumentValue(age);
|
||||||
return bd;
|
return bd;
|
||||||
}
|
}
|
||||||
|
|
@ -2283,7 +2282,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
@Test
|
@Test
|
||||||
void prototypeStringCreatedRepeatedly() {
|
void prototypeStringCreatedRepeatedly() {
|
||||||
RootBeanDefinition stringDef = new RootBeanDefinition(String.class);
|
RootBeanDefinition stringDef = new RootBeanDefinition(String.class);
|
||||||
stringDef.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
stringDef.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
stringDef.getConstructorArgumentValues().addGenericArgumentValue(new TypedStringValue("value"));
|
stringDef.getConstructorArgumentValues().addGenericArgumentValue(new TypedStringValue("value"));
|
||||||
lbf.registerBeanDefinition("string", stringDef);
|
lbf.registerBeanDefinition("string", stringDef);
|
||||||
String val1 = lbf.getBean("string", String.class);
|
String val1 = lbf.getBean("string", String.class);
|
||||||
|
|
@ -2299,7 +2298,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
list.add("myName");
|
list.add("myName");
|
||||||
list.add("myBeanName");
|
list.add("myBeanName");
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(DerivedTestBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(DerivedTestBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bd.getConstructorArgumentValues().addGenericArgumentValue(list);
|
bd.getConstructorArgumentValues().addGenericArgumentValue(list);
|
||||||
lbf.registerBeanDefinition("test", bd);
|
lbf.registerBeanDefinition("test", bd);
|
||||||
DerivedTestBean tb = (DerivedTestBean) lbf.getBean("test");
|
DerivedTestBean tb = (DerivedTestBean) lbf.getBean("test");
|
||||||
|
|
@ -2317,7 +2316,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
list.add("myName");
|
list.add("myName");
|
||||||
list.add("myBeanName");
|
list.add("myBeanName");
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(DerivedTestBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(DerivedTestBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bd.setFactoryMethodName("create");
|
bd.setFactoryMethodName("create");
|
||||||
bd.getConstructorArgumentValues().addGenericArgumentValue(list);
|
bd.getConstructorArgumentValues().addGenericArgumentValue(list);
|
||||||
lbf.registerBeanDefinition("test", bd);
|
lbf.registerBeanDefinition("test", bd);
|
||||||
|
|
@ -2335,7 +2334,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
void prototypeCreationIsFastEnough() {
|
void prototypeCreationIsFastEnough() {
|
||||||
Assume.notLogging(factoryLog);
|
Assume.notLogging(factoryLog);
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
lbf.registerBeanDefinition("test", rbd);
|
lbf.registerBeanDefinition("test", rbd);
|
||||||
lbf.freezeConfiguration();
|
lbf.freezeConfiguration();
|
||||||
StopWatch sw = new StopWatch();
|
StopWatch sw = new StopWatch();
|
||||||
|
|
@ -2353,7 +2352,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
void prototypeCreationWithDependencyCheckIsFastEnough() {
|
void prototypeCreationWithDependencyCheckIsFastEnough() {
|
||||||
Assume.notLogging(factoryLog);
|
Assume.notLogging(factoryLog);
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(LifecycleBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(LifecycleBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.setDependencyCheck(RootBeanDefinition.DEPENDENCY_CHECK_OBJECTS);
|
rbd.setDependencyCheck(RootBeanDefinition.DEPENDENCY_CHECK_OBJECTS);
|
||||||
lbf.registerBeanDefinition("test", rbd);
|
lbf.registerBeanDefinition("test", rbd);
|
||||||
lbf.addBeanPostProcessor(new LifecycleBean.PostProcessor());
|
lbf.addBeanPostProcessor(new LifecycleBean.PostProcessor());
|
||||||
|
|
@ -2373,7 +2372,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
void prototypeCreationWithConstructorArgumentsIsFastEnough() {
|
void prototypeCreationWithConstructorArgumentsIsFastEnough() {
|
||||||
Assume.notLogging(factoryLog);
|
Assume.notLogging(factoryLog);
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getConstructorArgumentValues().addGenericArgumentValue("juergen");
|
rbd.getConstructorArgumentValues().addGenericArgumentValue("juergen");
|
||||||
rbd.getConstructorArgumentValues().addGenericArgumentValue("99");
|
rbd.getConstructorArgumentValues().addGenericArgumentValue("99");
|
||||||
lbf.registerBeanDefinition("test", rbd);
|
lbf.registerBeanDefinition("test", rbd);
|
||||||
|
|
@ -2394,7 +2393,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
void prototypeCreationWithResolvedConstructorArgumentsIsFastEnough() {
|
void prototypeCreationWithResolvedConstructorArgumentsIsFastEnough() {
|
||||||
Assume.notLogging(factoryLog);
|
Assume.notLogging(factoryLog);
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference("spouse"));
|
rbd.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference("spouse"));
|
||||||
lbf.registerBeanDefinition("test", rbd);
|
lbf.registerBeanDefinition("test", rbd);
|
||||||
lbf.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
lbf.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||||
|
|
@ -2416,7 +2415,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
void prototypeCreationWithPropertiesIsFastEnough() {
|
void prototypeCreationWithPropertiesIsFastEnough() {
|
||||||
Assume.notLogging(factoryLog);
|
Assume.notLogging(factoryLog);
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getPropertyValues().add("name", "juergen");
|
rbd.getPropertyValues().add("name", "juergen");
|
||||||
rbd.getPropertyValues().add("age", "99");
|
rbd.getPropertyValues().add("age", "99");
|
||||||
lbf.registerBeanDefinition("test", rbd);
|
lbf.registerBeanDefinition("test", rbd);
|
||||||
|
|
@ -2438,7 +2437,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
void prototypeCreationWithResolvedPropertiesIsFastEnough() {
|
void prototypeCreationWithResolvedPropertiesIsFastEnough() {
|
||||||
Assume.notLogging(factoryLog);
|
Assume.notLogging(factoryLog);
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
||||||
lbf.registerBeanDefinition("test", rbd);
|
lbf.registerBeanDefinition("test", rbd);
|
||||||
lbf.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
lbf.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||||
|
|
@ -2555,7 +2554,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
@Test
|
@Test
|
||||||
void destroyMethodOnInnerBeanAsPrototype() {
|
void destroyMethodOnInnerBeanAsPrototype() {
|
||||||
RootBeanDefinition innerBd = new RootBeanDefinition(BeanWithDestroyMethod.class);
|
RootBeanDefinition innerBd = new RootBeanDefinition(BeanWithDestroyMethod.class);
|
||||||
innerBd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
innerBd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
innerBd.setDestroyMethodName("close");
|
innerBd.setDestroyMethodName("close");
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(BeanWithDestroyMethod.class);
|
RootBeanDefinition bd = new RootBeanDefinition(BeanWithDestroyMethod.class);
|
||||||
bd.setDestroyMethodName("close");
|
bd.setDestroyMethodName("close");
|
||||||
|
|
@ -2599,7 +2598,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
factoryMethodDefinitionWithProperties.setFactoryBeanName("factoryBeanInstance");
|
factoryMethodDefinitionWithProperties.setFactoryBeanName("factoryBeanInstance");
|
||||||
factoryMethodDefinitionWithProperties.setFactoryMethodName("create");
|
factoryMethodDefinitionWithProperties.setFactoryMethodName("create");
|
||||||
if (!singleton) {
|
if (!singleton) {
|
||||||
factoryMethodDefinitionWithProperties.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
factoryMethodDefinitionWithProperties.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
}
|
}
|
||||||
lbf.registerBeanDefinition("fmWithProperties", factoryMethodDefinitionWithProperties);
|
lbf.registerBeanDefinition("fmWithProperties", factoryMethodDefinitionWithProperties);
|
||||||
|
|
||||||
|
|
@ -2607,7 +2606,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
factoryMethodDefinitionGeneric.setFactoryBeanName("factoryBeanInstance");
|
factoryMethodDefinitionGeneric.setFactoryBeanName("factoryBeanInstance");
|
||||||
factoryMethodDefinitionGeneric.setFactoryMethodName("createGeneric");
|
factoryMethodDefinitionGeneric.setFactoryMethodName("createGeneric");
|
||||||
if (!singleton) {
|
if (!singleton) {
|
||||||
factoryMethodDefinitionGeneric.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
factoryMethodDefinitionGeneric.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
}
|
}
|
||||||
lbf.registerBeanDefinition("fmGeneric", factoryMethodDefinitionGeneric);
|
lbf.registerBeanDefinition("fmGeneric", factoryMethodDefinitionGeneric);
|
||||||
|
|
||||||
|
|
@ -2618,7 +2617,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
cvals.addGenericArgumentValue(expectedNameFromArgs);
|
cvals.addGenericArgumentValue(expectedNameFromArgs);
|
||||||
factoryMethodDefinitionWithArgs.setConstructorArgumentValues(cvals);
|
factoryMethodDefinitionWithArgs.setConstructorArgumentValues(cvals);
|
||||||
if (!singleton) {
|
if (!singleton) {
|
||||||
factoryMethodDefinitionWithArgs.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
factoryMethodDefinitionWithArgs.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
}
|
}
|
||||||
lbf.registerBeanDefinition("fmWithArgs", factoryMethodDefinitionWithArgs);
|
lbf.registerBeanDefinition("fmWithArgs", factoryMethodDefinitionWithArgs);
|
||||||
|
|
||||||
|
|
@ -2676,7 +2675,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
String theChildScope = "bonanza!";
|
String theChildScope = "bonanza!";
|
||||||
|
|
||||||
RootBeanDefinition parent = new RootBeanDefinition();
|
RootBeanDefinition parent = new RootBeanDefinition();
|
||||||
parent.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
parent.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
|
|
||||||
AbstractBeanDefinition child = BeanDefinitionBuilder.childBeanDefinition("parent").getBeanDefinition();
|
AbstractBeanDefinition child = BeanDefinitionBuilder.childBeanDefinition("parent").getBeanDefinition();
|
||||||
child.setBeanClass(TestBean.class);
|
child.setBeanClass(TestBean.class);
|
||||||
|
|
@ -2757,7 +2756,7 @@ class DefaultListableBeanFactoryTests {
|
||||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
void initSecurityAwarePrototypeBean() {
|
void initSecurityAwarePrototypeBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(TestSecuredBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(TestSecuredBean.class);
|
||||||
bd.setScope(ConfigurableBeanFactory.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bd.setInitMethodName("init");
|
bd.setInitMethodName("init");
|
||||||
lbf.registerBeanDefinition("test", bd);
|
lbf.registerBeanDefinition("test", bd);
|
||||||
final Subject subject = new Subject();
|
final Subject subject = new Subject();
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testResourceInjection() {
|
public void testResourceInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(ResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -137,7 +137,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testExtendedResourceInjection() {
|
public void testExtendedResourceInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -255,7 +255,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
public void testExtendedResourceInjectionWithAtRequired() {
|
public void testExtendedResourceInjectionWithAtRequired() {
|
||||||
bf.addBeanPostProcessor(new RequiredAnnotationBeanPostProcessor());
|
bf.addBeanPostProcessor(new RequiredAnnotationBeanPostProcessor());
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -300,7 +300,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testOptionalCollectionResourceInjection() {
|
public void testOptionalCollectionResourceInjection() {
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", rbd);
|
bf.registerBeanDefinition("annotatedBean", rbd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -333,7 +333,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testOptionalCollectionResourceInjectionWithSingleElement() {
|
public void testOptionalCollectionResourceInjectionWithSingleElement() {
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", rbd);
|
bf.registerBeanDefinition("annotatedBean", rbd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -441,7 +441,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testOrderedCollectionResourceInjection() {
|
public void testOrderedCollectionResourceInjection() {
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", rbd);
|
bf.registerBeanDefinition("annotatedBean", rbd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -476,7 +476,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testAnnotationOrderedCollectionResourceInjection() {
|
public void testAnnotationOrderedCollectionResourceInjection() {
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", rbd);
|
bf.registerBeanDefinition("annotatedBean", rbd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -509,7 +509,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorResourceInjection() {
|
public void testConstructorResourceInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -536,7 +536,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorResourceInjectionWithNullFromFactoryBean() {
|
public void testConstructorResourceInjectionWithNullFromFactoryBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -563,7 +563,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorResourceInjectionWithNullFromFactoryMethod() {
|
public void testConstructorResourceInjectionWithNullFromFactoryMethod() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
RootBeanDefinition tb = new RootBeanDefinition(NullFactoryMethods.class);
|
RootBeanDefinition tb = new RootBeanDefinition(NullFactoryMethods.class);
|
||||||
tb.setFactoryMethodName("createTestBean");
|
tb.setFactoryMethodName("createTestBean");
|
||||||
|
|
@ -818,7 +818,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithMap() {
|
public void testConstructorInjectionWithMap() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb1 = new TestBean("tb1");
|
TestBean tb1 = new TestBean("tb1");
|
||||||
bf.registerSingleton("testBean1", tb1);
|
bf.registerSingleton("testBean1", tb1);
|
||||||
|
|
@ -840,7 +840,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testFieldInjectionWithMap() {
|
public void testFieldInjectionWithMap() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapFieldInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapFieldInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb1 = new TestBean("tb1");
|
TestBean tb1 = new TestBean("tb1");
|
||||||
TestBean tb2 = new TestBean("tb2");
|
TestBean tb2 = new TestBean("tb2");
|
||||||
|
|
@ -865,7 +865,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testMethodInjectionWithMap() {
|
public void testMethodInjectionWithMap() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapMethodInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapMethodInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -921,7 +921,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithTypedMapAsBean() {
|
public void testConstructorInjectionWithTypedMapAsBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
MyTestBeanMap tbm = new MyTestBeanMap();
|
MyTestBeanMap tbm = new MyTestBeanMap();
|
||||||
tbm.put("testBean1", new TestBean("tb1"));
|
tbm.put("testBean1", new TestBean("tb1"));
|
||||||
|
|
@ -938,7 +938,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithPlainMapAsBean() {
|
public void testConstructorInjectionWithPlainMapAsBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
RootBeanDefinition tbm = new RootBeanDefinition(CollectionFactoryMethods.class);
|
RootBeanDefinition tbm = new RootBeanDefinition(CollectionFactoryMethods.class);
|
||||||
tbm.setUniqueFactoryMethodName("testBeanMap");
|
tbm.setUniqueFactoryMethodName("testBeanMap");
|
||||||
|
|
@ -954,7 +954,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithCustomMapAsBean() {
|
public void testConstructorInjectionWithCustomMapAsBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(CustomMapConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(CustomMapConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
RootBeanDefinition tbm = new RootBeanDefinition(CustomCollectionFactoryMethods.class);
|
RootBeanDefinition tbm = new RootBeanDefinition(CustomCollectionFactoryMethods.class);
|
||||||
tbm.setUniqueFactoryMethodName("testBeanMap");
|
tbm.setUniqueFactoryMethodName("testBeanMap");
|
||||||
|
|
@ -971,7 +971,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithPlainHashMapAsBean() {
|
public void testConstructorInjectionWithPlainHashMapAsBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(QualifiedMapConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(QualifiedMapConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
bf.registerBeanDefinition("myTestBeanMap", new RootBeanDefinition(HashMap.class));
|
bf.registerBeanDefinition("myTestBeanMap", new RootBeanDefinition(HashMap.class));
|
||||||
|
|
||||||
|
|
@ -984,7 +984,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithTypedSetAsBean() {
|
public void testConstructorInjectionWithTypedSetAsBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(SetConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(SetConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
MyTestBeanSet tbs = new MyTestBeanSet();
|
MyTestBeanSet tbs = new MyTestBeanSet();
|
||||||
tbs.add(new TestBean("tb1"));
|
tbs.add(new TestBean("tb1"));
|
||||||
|
|
@ -1001,7 +1001,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithPlainSetAsBean() {
|
public void testConstructorInjectionWithPlainSetAsBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(SetConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(SetConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
RootBeanDefinition tbs = new RootBeanDefinition(CollectionFactoryMethods.class);
|
RootBeanDefinition tbs = new RootBeanDefinition(CollectionFactoryMethods.class);
|
||||||
tbs.setUniqueFactoryMethodName("testBeanSet");
|
tbs.setUniqueFactoryMethodName("testBeanSet");
|
||||||
|
|
@ -1017,7 +1017,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithCustomSetAsBean() {
|
public void testConstructorInjectionWithCustomSetAsBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(CustomSetConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(CustomSetConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
RootBeanDefinition tbs = new RootBeanDefinition(CustomCollectionFactoryMethods.class);
|
RootBeanDefinition tbs = new RootBeanDefinition(CustomCollectionFactoryMethods.class);
|
||||||
tbs.setUniqueFactoryMethodName("testBeanSet");
|
tbs.setUniqueFactoryMethodName("testBeanSet");
|
||||||
|
|
@ -1143,7 +1143,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
public void testObjectProviderInjectionWithPrototype() {
|
public void testObjectProviderInjectionWithPrototype() {
|
||||||
bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class));
|
bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class));
|
||||||
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
||||||
tbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
tbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("testBean", tbd);
|
bf.registerBeanDefinition("testBean", tbd);
|
||||||
|
|
||||||
ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean");
|
ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean");
|
||||||
|
|
@ -1515,7 +1515,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFieldInjection() {
|
public void testGenericsBasedFieldInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
String sv = "X";
|
String sv = "X";
|
||||||
bf.registerSingleton("stringValue", sv);
|
bf.registerSingleton("stringValue", sv);
|
||||||
|
|
@ -1560,7 +1560,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFieldInjectionWithSubstitutedVariables() {
|
public void testGenericsBasedFieldInjectionWithSubstitutedVariables() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSubstitutedVariables.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSubstitutedVariables.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
String sv = "X";
|
String sv = "X";
|
||||||
bf.registerSingleton("stringValue", sv);
|
bf.registerSingleton("stringValue", sv);
|
||||||
|
|
@ -1605,7 +1605,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFieldInjectionWithQualifiers() {
|
public void testGenericsBasedFieldInjectionWithQualifiers() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithQualifiers.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithQualifiers.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
StringRepository sr = new StringRepository();
|
StringRepository sr = new StringRepository();
|
||||||
bf.registerSingleton("stringRepo", sr);
|
bf.registerSingleton("stringRepo", sr);
|
||||||
|
|
@ -1632,7 +1632,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFieldInjectionWithMocks() {
|
public void testGenericsBasedFieldInjectionWithMocks() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithQualifiers.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithQualifiers.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
|
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(MocksControl.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(MocksControl.class);
|
||||||
|
|
@ -1671,7 +1671,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFieldInjectionWithSimpleMatch() {
|
public void testGenericsBasedFieldInjectionWithSimpleMatch() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
|
|
||||||
bf.registerSingleton("repo", new StringRepository());
|
bf.registerSingleton("repo", new StringRepository());
|
||||||
|
|
@ -1699,7 +1699,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFactoryBeanInjectionWithBeanDefinition() {
|
public void testGenericsBasedFactoryBeanInjectionWithBeanDefinition() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
bf.registerBeanDefinition("repoFactoryBean", new RootBeanDefinition(RepositoryFactoryBean.class));
|
bf.registerBeanDefinition("repoFactoryBean", new RootBeanDefinition(RepositoryFactoryBean.class));
|
||||||
|
|
||||||
|
|
@ -1711,7 +1711,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFactoryBeanInjectionWithSingletonBean() {
|
public void testGenericsBasedFactoryBeanInjectionWithSingletonBean() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
bf.registerSingleton("repoFactoryBean", new RepositoryFactoryBean<>());
|
bf.registerSingleton("repoFactoryBean", new RepositoryFactoryBean<>());
|
||||||
|
|
||||||
|
|
@ -1723,7 +1723,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFieldInjectionWithSimpleMatchAndMock() {
|
public void testGenericsBasedFieldInjectionWithSimpleMatchAndMock() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
|
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(MocksControl.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(MocksControl.class);
|
||||||
|
|
@ -1755,7 +1755,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedFieldInjectionWithSimpleMatchAndMockito() {
|
public void testGenericsBasedFieldInjectionWithSimpleMatchAndMockito() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
|
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition();
|
RootBeanDefinition rbd = new RootBeanDefinition();
|
||||||
|
|
@ -1786,7 +1786,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedMethodInjection() {
|
public void testGenericsBasedMethodInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryMethodInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryMethodInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
String sv = "X";
|
String sv = "X";
|
||||||
bf.registerSingleton("stringValue", sv);
|
bf.registerSingleton("stringValue", sv);
|
||||||
|
|
@ -1831,7 +1831,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedMethodInjectionWithSubstitutedVariables() {
|
public void testGenericsBasedMethodInjectionWithSubstitutedVariables() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryMethodInjectionBeanWithSubstitutedVariables.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryMethodInjectionBeanWithSubstitutedVariables.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
String sv = "X";
|
String sv = "X";
|
||||||
bf.registerSingleton("stringValue", sv);
|
bf.registerSingleton("stringValue", sv);
|
||||||
|
|
@ -1876,7 +1876,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedConstructorInjection() {
|
public void testGenericsBasedConstructorInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
StringRepository sr = new StringRepository();
|
StringRepository sr = new StringRepository();
|
||||||
bf.registerSingleton("stringRepo", sr);
|
bf.registerSingleton("stringRepo", sr);
|
||||||
|
|
@ -1904,7 +1904,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
public void testGenericsBasedConstructorInjectionWithNonTypedTarget() {
|
public void testGenericsBasedConstructorInjectionWithNonTypedTarget() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
GenericRepository gr = new GenericRepository();
|
GenericRepository gr = new GenericRepository();
|
||||||
bf.registerSingleton("genericRepo", gr);
|
bf.registerSingleton("genericRepo", gr);
|
||||||
|
|
@ -1929,7 +1929,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedConstructorInjectionWithNonGenericTarget() {
|
public void testGenericsBasedConstructorInjectionWithNonGenericTarget() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
SimpleRepository ngr = new SimpleRepository();
|
SimpleRepository ngr = new SimpleRepository();
|
||||||
bf.registerSingleton("simpleRepo", ngr);
|
bf.registerSingleton("simpleRepo", ngr);
|
||||||
|
|
@ -1955,7 +1955,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
public void testGenericsBasedConstructorInjectionWithMixedTargets() {
|
public void testGenericsBasedConstructorInjectionWithMixedTargets() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
StringRepository sr = new StringRepository();
|
StringRepository sr = new StringRepository();
|
||||||
bf.registerSingleton("stringRepo", sr);
|
bf.registerSingleton("stringRepo", sr);
|
||||||
|
|
@ -1982,7 +1982,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testGenericsBasedConstructorInjectionWithMixedTargetsIncludingNonGeneric() {
|
public void testGenericsBasedConstructorInjectionWithMixedTargetsIncludingNonGeneric() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
StringRepository sr = new StringRepository();
|
StringRepository sr = new StringRepository();
|
||||||
bf.registerSingleton("stringRepo", sr);
|
bf.registerSingleton("stringRepo", sr);
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ public class InjectAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testResourceInjection() {
|
public void testResourceInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(ResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -111,7 +111,7 @@ public class InjectAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testExtendedResourceInjection() {
|
public void testExtendedResourceInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -160,7 +160,7 @@ public class InjectAnnotationBeanPostProcessorTests {
|
||||||
public void testExtendedResourceInjectionWithAtRequired() {
|
public void testExtendedResourceInjectionWithAtRequired() {
|
||||||
bf.addBeanPostProcessor(new RequiredAnnotationBeanPostProcessor());
|
bf.addBeanPostProcessor(new RequiredAnnotationBeanPostProcessor());
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -179,7 +179,7 @@ public class InjectAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorResourceInjection() {
|
public void testConstructorResourceInjection() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
@ -236,7 +236,7 @@ public class InjectAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorInjectionWithMap() {
|
public void testConstructorInjectionWithMap() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb1 = new TestBean();
|
TestBean tb1 = new TestBean();
|
||||||
TestBean tb2 = new TestBean();
|
TestBean tb2 = new TestBean();
|
||||||
|
|
@ -261,7 +261,7 @@ public class InjectAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testFieldInjectionWithMap() {
|
public void testFieldInjectionWithMap() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapFieldInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapFieldInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb1 = new TestBean();
|
TestBean tb1 = new TestBean();
|
||||||
TestBean tb2 = new TestBean();
|
TestBean tb2 = new TestBean();
|
||||||
|
|
@ -286,7 +286,7 @@ public class InjectAnnotationBeanPostProcessorTests {
|
||||||
@Test
|
@Test
|
||||||
public void testMethodInjectionWithMap() {
|
public void testMethodInjectionWithMap() {
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(MapMethodInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(MapMethodInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
TestBean tb = new TestBean();
|
TestBean tb = new TestBean();
|
||||||
bf.registerSingleton("testBean", tb);
|
bf.registerSingleton("testBean", tb);
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ package org.springframework.beans.factory.annotation;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
import org.springframework.tests.sample.beans.TestBean;
|
import org.springframework.tests.sample.beans.TestBean;
|
||||||
|
|
@ -44,7 +45,7 @@ public class LookupAnnotationTests {
|
||||||
beanFactory.registerBeanDefinition("abstractBean", new RootBeanDefinition(AbstractBean.class));
|
beanFactory.registerBeanDefinition("abstractBean", new RootBeanDefinition(AbstractBean.class));
|
||||||
beanFactory.registerBeanDefinition("beanConsumer", new RootBeanDefinition(BeanConsumer.class));
|
beanFactory.registerBeanDefinition("beanConsumer", new RootBeanDefinition(BeanConsumer.class));
|
||||||
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
||||||
tbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
tbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
beanFactory.registerBeanDefinition("testBean", tbd);
|
beanFactory.registerBeanDefinition("testBean", tbd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ import org.springframework.beans.factory.BeanNameAware;
|
||||||
import org.springframework.beans.factory.DisposableBean;
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.beans.factory.SmartFactoryBean;
|
import org.springframework.beans.factory.SmartFactoryBean;
|
||||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.beans.factory.support.SecurityContextProvider;
|
import org.springframework.beans.factory.support.SecurityContextProvider;
|
||||||
|
|
@ -442,7 +442,7 @@ public class CallbacksSecurityTests {
|
||||||
final DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
final DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
||||||
BeanDefinitionBuilder bdb = BeanDefinitionBuilder
|
BeanDefinitionBuilder bdb = BeanDefinitionBuilder
|
||||||
.genericBeanDefinition(NonPrivilegedBean.class).setScope(
|
.genericBeanDefinition(NonPrivilegedBean.class).setScope(
|
||||||
ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
BeanDefinition.SCOPE_PROTOTYPE)
|
||||||
.setInitMethodName("init").setDestroyMethodName("destroy")
|
.setInitMethodName("init").setDestroyMethodName("destroy")
|
||||||
.addConstructorArgValue("user1");
|
.addConstructorArgValue("user1");
|
||||||
lbf.registerBeanDefinition("test", bdb.getBeanDefinition());
|
lbf.registerBeanDefinition("test", bdb.getBeanDefinition());
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2017 the original author or authors.
|
* Copyright 2002-2019 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
@ -20,6 +20,7 @@ import java.util.Locale;
|
||||||
|
|
||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
import org.springframework.beans.MutablePropertyValues;
|
import org.springframework.beans.MutablePropertyValues;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.support.GenericBeanDefinition;
|
import org.springframework.beans.factory.support.GenericBeanDefinition;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
|
|
@ -115,7 +116,7 @@ public class StaticApplicationContext extends GenericApplicationContext {
|
||||||
*/
|
*/
|
||||||
public void registerPrototype(String name, Class<?> clazz) throws BeansException {
|
public void registerPrototype(String name, Class<?> clazz) throws BeansException {
|
||||||
GenericBeanDefinition bd = new GenericBeanDefinition();
|
GenericBeanDefinition bd = new GenericBeanDefinition();
|
||||||
bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bd.setBeanClass(clazz);
|
bd.setBeanClass(clazz);
|
||||||
getDefaultListableBeanFactory().registerBeanDefinition(name, bd);
|
getDefaultListableBeanFactory().registerBeanDefinition(name, bd);
|
||||||
}
|
}
|
||||||
|
|
@ -127,7 +128,7 @@ public class StaticApplicationContext extends GenericApplicationContext {
|
||||||
*/
|
*/
|
||||||
public void registerPrototype(String name, Class<?> clazz, MutablePropertyValues pvs) throws BeansException {
|
public void registerPrototype(String name, Class<?> clazz, MutablePropertyValues pvs) throws BeansException {
|
||||||
GenericBeanDefinition bd = new GenericBeanDefinition();
|
GenericBeanDefinition bd = new GenericBeanDefinition();
|
||||||
bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bd.setBeanClass(clazz);
|
bd.setBeanClass(clazz);
|
||||||
bd.setPropertyValues(pvs);
|
bd.setPropertyValues(pvs);
|
||||||
getDefaultListableBeanFactory().registerBeanDefinition(name, bd);
|
getDefaultListableBeanFactory().registerBeanDefinition(name, bd);
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,10 @@
|
||||||
|
|
||||||
package example.scannable_scoped;
|
package example.scannable_scoped;
|
||||||
|
|
||||||
import org.springframework.beans.factory.config.BeanDefinition;
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@MyScope(BeanDefinition.SCOPE_PROTOTYPE)
|
@MyScope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
public class CustomScopeAnnotationBean {
|
public class CustomScopeAnnotationBean {
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,11 @@ package example.scannable_scoped;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
import org.springframework.beans.factory.config.BeanDefinition;
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
import org.springframework.context.annotation.ScopedProxyMode;
|
import org.springframework.context.annotation.ScopedProxyMode;
|
||||||
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface MyScope {
|
public @interface MyScope {
|
||||||
String value() default BeanDefinition.SCOPE_SINGLETON;
|
String value() default ConfigurableBeanFactory.SCOPE_SINGLETON;
|
||||||
ScopedProxyMode proxyMode() default ScopedProxyMode.DEFAULT;
|
ScopedProxyMode proxyMode() default ScopedProxyMode.DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import org.junit.jupiter.api.BeforeAll;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
|
|
@ -63,7 +64,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||||
GenericApplicationContext ctx = createContext();
|
GenericApplicationContext ctx = createContext();
|
||||||
|
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(ResourceAnnotatedTestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(ResourceAnnotatedTestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
ctx.registerBeanDefinition("test", rbd);
|
ctx.registerBeanDefinition("test", rbd);
|
||||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||||
|
|
||||||
|
|
@ -75,7 +76,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||||
GenericApplicationContext ctx = createContext();
|
GenericApplicationContext ctx = createContext();
|
||||||
|
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(ResourceAnnotatedTestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(ResourceAnnotatedTestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
||||||
ctx.registerBeanDefinition("test", rbd);
|
ctx.registerBeanDefinition("test", rbd);
|
||||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||||
|
|
@ -88,7 +89,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||||
GenericApplicationContext ctx = createContext();
|
GenericApplicationContext ctx = createContext();
|
||||||
|
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(AutowiredAnnotatedTestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(AutowiredAnnotatedTestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
ctx.registerBeanDefinition("test", rbd);
|
ctx.registerBeanDefinition("test", rbd);
|
||||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||||
|
|
||||||
|
|
@ -100,7 +101,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||||
GenericApplicationContext ctx = createContext();
|
GenericApplicationContext ctx = createContext();
|
||||||
|
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(AutowiredAnnotatedTestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(AutowiredAnnotatedTestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
||||||
ctx.registerBeanDefinition("test", rbd);
|
ctx.registerBeanDefinition("test", rbd);
|
||||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||||
|
|
|
||||||
|
|
@ -176,7 +176,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
public void testSimpleScanWithDefaultFiltersAndOverriddenCompatibleNamedBean() {
|
public void testSimpleScanWithDefaultFiltersAndOverriddenCompatibleNamedBean() {
|
||||||
GenericApplicationContext context = new GenericApplicationContext();
|
GenericApplicationContext context = new GenericApplicationContext();
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(NamedStubDao.class);
|
RootBeanDefinition bd = new RootBeanDefinition(NamedStubDao.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
context.registerBeanDefinition("myNamedDao", bd);
|
context.registerBeanDefinition("myNamedDao", bd);
|
||||||
int initialBeanCount = context.getBeanDefinitionCount();
|
int initialBeanCount = context.getBeanDefinitionCount();
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ import org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostP
|
||||||
import org.springframework.beans.factory.annotation.Lookup;
|
import org.springframework.beans.factory.annotation.Lookup;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver;
|
import org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.config.BeanDefinitionHolder;
|
import org.springframework.beans.factory.config.BeanDefinitionHolder;
|
||||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||||
|
|
@ -482,7 +483,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||||
bpp.setBeanFactory(beanFactory);
|
bpp.setBeanFactory(beanFactory);
|
||||||
beanFactory.addBeanPostProcessor(bpp);
|
beanFactory.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(RepositoryConfiguration.class));
|
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(RepositoryConfiguration.class));
|
||||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||||
|
|
@ -499,7 +500,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||||
bpp.setBeanFactory(beanFactory);
|
bpp.setBeanFactory(beanFactory);
|
||||||
beanFactory.addBeanPostProcessor(bpp);
|
beanFactory.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedRepositoryConfiguration.class));
|
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedRepositoryConfiguration.class));
|
||||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||||
|
|
@ -516,7 +517,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||||
bpp.setBeanFactory(beanFactory);
|
bpp.setBeanFactory(beanFactory);
|
||||||
beanFactory.addBeanPostProcessor(bpp);
|
beanFactory.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedProxyRepositoryConfiguration.class));
|
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedProxyRepositoryConfiguration.class));
|
||||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||||
|
|
@ -536,7 +537,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||||
bpp.setBeanFactory(beanFactory);
|
bpp.setBeanFactory(beanFactory);
|
||||||
beanFactory.addBeanPostProcessor(bpp);
|
beanFactory.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class.getName());
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class.getName());
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedProxyRepositoryConfiguration.class.getName()));
|
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedProxyRepositoryConfiguration.class.getName()));
|
||||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||||
|
|
@ -556,7 +557,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||||
bpp.setBeanFactory(beanFactory);
|
bpp.setBeanFactory(beanFactory);
|
||||||
beanFactory.addBeanPostProcessor(bpp);
|
beanFactory.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(SpecificRepositoryInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(SpecificRepositoryInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(SpecificRepositoryConfiguration.class));
|
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(SpecificRepositoryConfiguration.class));
|
||||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||||
|
|
@ -573,7 +574,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||||
bpp.setBeanFactory(beanFactory);
|
bpp.setBeanFactory(beanFactory);
|
||||||
beanFactory.addBeanPostProcessor(bpp);
|
beanFactory.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(RepositoryFactoryBeanConfiguration.class));
|
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(RepositoryFactoryBeanConfiguration.class));
|
||||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor;
|
import org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
import org.springframework.tests.sample.beans.TestBean;
|
import org.springframework.tests.sample.beans.TestBean;
|
||||||
|
|
@ -41,7 +42,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||||
private void doTestLazyResourceInjection(Class<? extends TestBeanHolder> annotatedBeanClass) {
|
private void doTestLazyResourceInjection(Class<? extends TestBeanHolder> annotatedBeanClass) {
|
||||||
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
|
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
|
||||||
RootBeanDefinition abd = new RootBeanDefinition(annotatedBeanClass);
|
RootBeanDefinition abd = new RootBeanDefinition(annotatedBeanClass);
|
||||||
abd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
abd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
ac.registerBeanDefinition("annotatedBean", abd);
|
ac.registerBeanDefinition("annotatedBean", abd);
|
||||||
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
||||||
tbd.setLazyInit(true);
|
tbd.setLazyInit(true);
|
||||||
|
|
@ -64,7 +65,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||||
|
|
||||||
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
|
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
|
||||||
RootBeanDefinition abd = new RootBeanDefinition(FieldResourceInjectionBean.class);
|
RootBeanDefinition abd = new RootBeanDefinition(FieldResourceInjectionBean.class);
|
||||||
abd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
abd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
ac.registerBeanDefinition("annotatedBean", abd);
|
ac.registerBeanDefinition("annotatedBean", abd);
|
||||||
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
||||||
tbd.setLazyInit(true);
|
tbd.setLazyInit(true);
|
||||||
|
|
@ -124,7 +125,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||||
bpp.setBeanFactory(bf);
|
bpp.setBeanFactory(bf);
|
||||||
bf.addBeanPostProcessor(bpp);
|
bf.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(FieldResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(FieldResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
|
|
||||||
FieldResourceInjectionBean bean = (FieldResourceInjectionBean) bf.getBean("annotatedBean");
|
FieldResourceInjectionBean bean = (FieldResourceInjectionBean) bf.getBean("annotatedBean");
|
||||||
|
|
@ -141,7 +142,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||||
bpp.setBeanFactory(bf);
|
bpp.setBeanFactory(bf);
|
||||||
bf.addBeanPostProcessor(bpp);
|
bf.addBeanPostProcessor(bpp);
|
||||||
RootBeanDefinition bd = new RootBeanDefinition(OptionalFieldResourceInjectionBean.class);
|
RootBeanDefinition bd = new RootBeanDefinition(OptionalFieldResourceInjectionBean.class);
|
||||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
bf.registerBeanDefinition("annotatedBean", bd);
|
bf.registerBeanDefinition("annotatedBean", bd);
|
||||||
|
|
||||||
OptionalFieldResourceInjectionBean bean = (OptionalFieldResourceInjectionBean) bf.getBean("annotatedBean");
|
OptionalFieldResourceInjectionBean bean = (OptionalFieldResourceInjectionBean) bf.getBean("annotatedBean");
|
||||||
|
|
|
||||||
|
|
@ -26,17 +26,17 @@ import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE;
|
import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_PROTOTYPE;
|
||||||
import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_SINGLETON;
|
import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_SINGLETON;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Marcin Piela
|
* @author Marcin Piela
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
*/
|
*/
|
||||||
public class Spr12526Tests {
|
class Spr12526Tests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testInjection() {
|
void testInjection() {
|
||||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(TestContext.class);
|
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(TestContext.class);
|
||||||
CustomCondition condition = ctx.getBean(CustomCondition.class);
|
CustomCondition condition = ctx.getBean(CustomCondition.class);
|
||||||
|
|
||||||
|
|
@ -47,33 +47,33 @@ public class Spr12526Tests {
|
||||||
condition.setCondition(false);
|
condition.setCondition(false);
|
||||||
SecondService secondService = (SecondService) ctx.getBean(Service.class);
|
SecondService secondService = (SecondService) ctx.getBean(Service.class);
|
||||||
assertThat(secondService.getDependency()).as("SecondService.dependency is null").isNotNull();
|
assertThat(secondService.getDependency()).as("SecondService.dependency is null").isNotNull();
|
||||||
|
|
||||||
|
ctx.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
public static class TestContext {
|
static class TestContext {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Scope(SCOPE_SINGLETON)
|
@Scope(SCOPE_SINGLETON)
|
||||||
public CustomCondition condition() {
|
CustomCondition condition() {
|
||||||
return new CustomCondition();
|
return new CustomCondition();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Scope(SCOPE_PROTOTYPE)
|
@Scope(SCOPE_PROTOTYPE)
|
||||||
public Service service(CustomCondition condition) {
|
Service service(CustomCondition condition) {
|
||||||
return (condition.check() ? new FirstService() : new SecondService());
|
return (condition.check() ? new FirstService() : new SecondService());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public DependencyOne dependencyOne() {
|
DependencyOne dependencyOne() {
|
||||||
return new DependencyOne();
|
return new DependencyOne();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public DependencyTwo dependencyTwo() {
|
DependencyTwo dependencyTwo() {
|
||||||
return new DependencyTwo();
|
return new DependencyTwo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.aop.framework.ProxyFactory;
|
import org.springframework.aop.framework.ProxyFactory;
|
||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
import org.springframework.beans.factory.config.BeanPostProcessor;
|
||||||
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
||||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
|
|
@ -355,7 +356,7 @@ public class ApplicationContextEventTests extends AbstractApplicationEventListen
|
||||||
public void nonSingletonListenerInApplicationContext() {
|
public void nonSingletonListenerInApplicationContext() {
|
||||||
StaticApplicationContext context = new StaticApplicationContext();
|
StaticApplicationContext context = new StaticApplicationContext();
|
||||||
RootBeanDefinition listener = new RootBeanDefinition(MyNonSingletonListener.class);
|
RootBeanDefinition listener = new RootBeanDefinition(MyNonSingletonListener.class);
|
||||||
listener.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
listener.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
context.registerBeanDefinition("listener", listener);
|
context.registerBeanDefinition("listener", listener);
|
||||||
context.refresh();
|
context.refresh();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ import org.springframework.beans.factory.ObjectFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.config.Scope;
|
import org.springframework.beans.factory.config.Scope;
|
||||||
import org.springframework.beans.factory.config.TypedStringValue;
|
import org.springframework.beans.factory.config.TypedStringValue;
|
||||||
import org.springframework.beans.factory.support.AutowireCandidateQualifier;
|
import org.springframework.beans.factory.support.AutowireCandidateQualifier;
|
||||||
|
|
@ -219,7 +220,7 @@ class ApplicationContextExpressionTests {
|
||||||
cs.addConverter(String.class, String.class, String::trim);
|
cs.addConverter(String.class, String.class, String::trim);
|
||||||
ac.getBeanFactory().registerSingleton(GenericApplicationContext.CONVERSION_SERVICE_BEAN_NAME, cs);
|
ac.getBeanFactory().registerSingleton(GenericApplicationContext.CONVERSION_SERVICE_BEAN_NAME, cs);
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(PrototypeTestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(PrototypeTestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getPropertyValues().add("country", "#{systemProperties.country}");
|
rbd.getPropertyValues().add("country", "#{systemProperties.country}");
|
||||||
rbd.getPropertyValues().add("country2", new TypedStringValue("-#{systemProperties.country}-"));
|
rbd.getPropertyValues().add("country2", new TypedStringValue("-#{systemProperties.country}-"));
|
||||||
ac.registerBeanDefinition("test", rbd);
|
ac.registerBeanDefinition("test", rbd);
|
||||||
|
|
@ -252,7 +253,7 @@ class ApplicationContextExpressionTests {
|
||||||
Assume.notLogging(factoryLog);
|
Assume.notLogging(factoryLog);
|
||||||
GenericApplicationContext ac = new GenericApplicationContext();
|
GenericApplicationContext ac = new GenericApplicationContext();
|
||||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
||||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
rbd.getConstructorArgumentValues().addGenericArgumentValue("#{systemProperties.name}");
|
rbd.getConstructorArgumentValues().addGenericArgumentValue("#{systemProperties.name}");
|
||||||
rbd.getPropertyValues().add("country", "#{systemProperties.country}");
|
rbd.getPropertyValues().add("country", "#{systemProperties.country}");
|
||||||
ac.registerBeanDefinition("test", rbd);
|
ac.registerBeanDefinition("test", rbd);
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ package org.springframework.context.support;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.NoUniqueBeanDefinitionException;
|
import org.springframework.beans.factory.NoUniqueBeanDefinitionException;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.context.ApplicationContextAware;
|
||||||
|
|
@ -64,7 +65,7 @@ public class GenericApplicationContextTests {
|
||||||
public void withScopedSupplier() {
|
public void withScopedSupplier() {
|
||||||
GenericApplicationContext ac = new GenericApplicationContext();
|
GenericApplicationContext ac = new GenericApplicationContext();
|
||||||
ac.registerBeanDefinition("testBean",
|
ac.registerBeanDefinition("testBean",
|
||||||
new RootBeanDefinition(String.class, RootBeanDefinition.SCOPE_PROTOTYPE, ac::toString));
|
new RootBeanDefinition(String.class, BeanDefinition.SCOPE_PROTOTYPE, ac::toString));
|
||||||
ac.refresh();
|
ac.refresh();
|
||||||
|
|
||||||
assertThat(ac.getBean("testBean")).isNotSameAs(ac.getBean("testBean"));
|
assertThat(ac.getBean("testBean")).isNotSameAs(ac.getBean("testBean"));
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreato
|
||||||
import org.springframework.aop.support.DefaultIntroductionAdvisor;
|
import org.springframework.aop.support.DefaultIntroductionAdvisor;
|
||||||
import org.springframework.beans.factory.DisposableBean;
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||||
import org.springframework.context.ApplicationEvent;
|
import org.springframework.context.ApplicationEvent;
|
||||||
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.ApplicationListener;
|
||||||
|
|
@ -383,7 +384,7 @@ public class AsyncExecutionTests {
|
||||||
listenerConstructed = 0;
|
listenerConstructed = 0;
|
||||||
GenericApplicationContext context = new GenericApplicationContext();
|
GenericApplicationContext context = new GenericApplicationContext();
|
||||||
RootBeanDefinition listenerDef = new RootBeanDefinition(AsyncClassListener.class);
|
RootBeanDefinition listenerDef = new RootBeanDefinition(AsyncClassListener.class);
|
||||||
listenerDef.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
listenerDef.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||||
context.registerBeanDefinition("asyncTest", listenerDef);
|
context.registerBeanDefinition("asyncTest", listenerDef);
|
||||||
context.registerBeanDefinition("autoProxyCreator", new RootBeanDefinition(DefaultAdvisorAutoProxyCreator.class));
|
context.registerBeanDefinition("autoProxyCreator", new RootBeanDefinition(DefaultAdvisorAutoProxyCreator.class));
|
||||||
context.registerBeanDefinition("asyncAdvisor", new RootBeanDefinition(AsyncAnnotationAdvisor.class));
|
context.registerBeanDefinition("asyncAdvisor", new RootBeanDefinition(AsyncAnnotationAdvisor.class));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue