Consistent use of SCOPE_PROTOTYPE and SCOPE_SINGLETON constants
Closes gh-19905
This commit is contained in:
@@ -29,6 +29,7 @@ import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
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.support.DefaultListableBeanFactory;
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
@@ -63,7 +64,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||
GenericApplicationContext ctx = createContext();
|
||||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(ResourceAnnotatedTestBean.class);
|
||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
ctx.registerBeanDefinition("test", rbd);
|
||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||
|
||||
@@ -75,7 +76,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||
GenericApplicationContext ctx = createContext();
|
||||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(ResourceAnnotatedTestBean.class);
|
||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
||||
ctx.registerBeanDefinition("test", rbd);
|
||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||
@@ -88,7 +89,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||
GenericApplicationContext ctx = createContext();
|
||||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(AutowiredAnnotatedTestBean.class);
|
||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
ctx.registerBeanDefinition("test", rbd);
|
||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||
|
||||
@@ -100,7 +101,7 @@ public class AnnotationProcessorPerformanceTests {
|
||||
GenericApplicationContext ctx = createContext();
|
||||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(AutowiredAnnotatedTestBean.class);
|
||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.getPropertyValues().add("spouse", new RuntimeBeanReference("spouse"));
|
||||
ctx.registerBeanDefinition("test", rbd);
|
||||
ctx.registerBeanDefinition("spouse", new RootBeanDefinition(TestBean.class));
|
||||
|
||||
@@ -176,7 +176,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||
public void testSimpleScanWithDefaultFiltersAndOverriddenCompatibleNamedBean() {
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
RootBeanDefinition bd = new RootBeanDefinition(NamedStubDao.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
context.registerBeanDefinition("myNamedDao", bd);
|
||||
int initialBeanCount = context.getBeanDefinitionCount();
|
||||
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.Qualifier;
|
||||
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.ConfigurableListableBeanFactory;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
@@ -482,7 +483,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||
bpp.setBeanFactory(beanFactory);
|
||||
beanFactory.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(RepositoryConfiguration.class));
|
||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||
@@ -499,7 +500,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||
bpp.setBeanFactory(beanFactory);
|
||||
beanFactory.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedRepositoryConfiguration.class));
|
||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||
@@ -516,7 +517,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||
bpp.setBeanFactory(beanFactory);
|
||||
beanFactory.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedProxyRepositoryConfiguration.class));
|
||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||
@@ -536,7 +537,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||
bpp.setBeanFactory(beanFactory);
|
||||
beanFactory.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryInjectionBean.class.getName());
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(ScopedProxyRepositoryConfiguration.class.getName()));
|
||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||
@@ -556,7 +557,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||
bpp.setBeanFactory(beanFactory);
|
||||
beanFactory.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(SpecificRepositoryInjectionBean.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(SpecificRepositoryConfiguration.class));
|
||||
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
|
||||
@@ -573,7 +574,7 @@ public class ConfigurationClassPostProcessorTests {
|
||||
bpp.setBeanFactory(beanFactory);
|
||||
beanFactory.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
beanFactory.registerBeanDefinition("annotatedBean", bd);
|
||||
beanFactory.registerBeanDefinition("configClass", new RootBeanDefinition(RepositoryFactoryBeanConfiguration.class));
|
||||
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.annotation.Autowired;
|
||||
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.RootBeanDefinition;
|
||||
import org.springframework.tests.sample.beans.TestBean;
|
||||
@@ -41,7 +42,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||
private void doTestLazyResourceInjection(Class<? extends TestBeanHolder> annotatedBeanClass) {
|
||||
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
|
||||
RootBeanDefinition abd = new RootBeanDefinition(annotatedBeanClass);
|
||||
abd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
abd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
ac.registerBeanDefinition("annotatedBean", abd);
|
||||
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
||||
tbd.setLazyInit(true);
|
||||
@@ -64,7 +65,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||
|
||||
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
|
||||
RootBeanDefinition abd = new RootBeanDefinition(FieldResourceInjectionBean.class);
|
||||
abd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
abd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
ac.registerBeanDefinition("annotatedBean", abd);
|
||||
RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
|
||||
tbd.setLazyInit(true);
|
||||
@@ -124,7 +125,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||
bpp.setBeanFactory(bf);
|
||||
bf.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(FieldResourceInjectionBean.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
bf.registerBeanDefinition("annotatedBean", bd);
|
||||
|
||||
FieldResourceInjectionBean bean = (FieldResourceInjectionBean) bf.getBean("annotatedBean");
|
||||
@@ -141,7 +142,7 @@ public class LazyAutowiredAnnotationBeanPostProcessorTests {
|
||||
bpp.setBeanFactory(bf);
|
||||
bf.addBeanPostProcessor(bpp);
|
||||
RootBeanDefinition bd = new RootBeanDefinition(OptionalFieldResourceInjectionBean.class);
|
||||
bd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
bd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
bf.registerBeanDefinition("annotatedBean", bd);
|
||||
|
||||
OptionalFieldResourceInjectionBean bean = (OptionalFieldResourceInjectionBean) bf.getBean("annotatedBean");
|
||||
|
||||
@@ -26,17 +26,17 @@ import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
||||
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.BeanDefinition.SCOPE_SINGLETON;
|
||||
import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_PROTOTYPE;
|
||||
import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_SINGLETON;
|
||||
|
||||
/**
|
||||
* @author Marcin Piela
|
||||
* @author Juergen Hoeller
|
||||
*/
|
||||
public class Spr12526Tests {
|
||||
class Spr12526Tests {
|
||||
|
||||
@Test
|
||||
public void testInjection() {
|
||||
void testInjection() {
|
||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(TestContext.class);
|
||||
CustomCondition condition = ctx.getBean(CustomCondition.class);
|
||||
|
||||
@@ -47,33 +47,33 @@ public class Spr12526Tests {
|
||||
condition.setCondition(false);
|
||||
SecondService secondService = (SecondService) ctx.getBean(Service.class);
|
||||
assertThat(secondService.getDependency()).as("SecondService.dependency is null").isNotNull();
|
||||
|
||||
ctx.close();
|
||||
}
|
||||
|
||||
|
||||
@Configuration
|
||||
public static class TestContext {
|
||||
static class TestContext {
|
||||
|
||||
@Bean
|
||||
@Scope(SCOPE_SINGLETON)
|
||||
public CustomCondition condition() {
|
||||
CustomCondition condition() {
|
||||
return new CustomCondition();
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
@Scope(SCOPE_PROTOTYPE)
|
||||
public Service service(CustomCondition condition) {
|
||||
Service service(CustomCondition condition) {
|
||||
return (condition.check() ? new FirstService() : new SecondService());
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DependencyOne dependencyOne() {
|
||||
DependencyOne dependencyOne() {
|
||||
return new DependencyOne();
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public DependencyTwo dependencyTwo() {
|
||||
DependencyTwo dependencyTwo() {
|
||||
return new DependencyTwo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.aop.framework.ProxyFactory;
|
||||
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.RuntimeBeanReference;
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
@@ -355,7 +356,7 @@ public class ApplicationContextEventTests extends AbstractApplicationEventListen
|
||||
public void nonSingletonListenerInApplicationContext() {
|
||||
StaticApplicationContext context = new StaticApplicationContext();
|
||||
RootBeanDefinition listener = new RootBeanDefinition(MyNonSingletonListener.class);
|
||||
listener.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
listener.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
context.registerBeanDefinition("listener", listener);
|
||||
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.Qualifier;
|
||||
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.TypedStringValue;
|
||||
import org.springframework.beans.factory.support.AutowireCandidateQualifier;
|
||||
@@ -219,7 +220,7 @@ class ApplicationContextExpressionTests {
|
||||
cs.addConverter(String.class, String.class, String::trim);
|
||||
ac.getBeanFactory().registerSingleton(GenericApplicationContext.CONVERSION_SERVICE_BEAN_NAME, cs);
|
||||
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("country2", new TypedStringValue("-#{systemProperties.country}-"));
|
||||
ac.registerBeanDefinition("test", rbd);
|
||||
@@ -252,7 +253,7 @@ class ApplicationContextExpressionTests {
|
||||
Assume.notLogging(factoryLog);
|
||||
GenericApplicationContext ac = new GenericApplicationContext();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(TestBean.class);
|
||||
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue("#{systemProperties.name}");
|
||||
rbd.getPropertyValues().add("country", "#{systemProperties.country}");
|
||||
ac.registerBeanDefinition("test", rbd);
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.springframework.context.support;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.NoUniqueBeanDefinitionException;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
@@ -64,7 +65,7 @@ public class GenericApplicationContextTests {
|
||||
public void withScopedSupplier() {
|
||||
GenericApplicationContext ac = new GenericApplicationContext();
|
||||
ac.registerBeanDefinition("testBean",
|
||||
new RootBeanDefinition(String.class, RootBeanDefinition.SCOPE_PROTOTYPE, ac::toString));
|
||||
new RootBeanDefinition(String.class, BeanDefinition.SCOPE_PROTOTYPE, ac::toString));
|
||||
ac.refresh();
|
||||
|
||||
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.beans.factory.DisposableBean;
|
||||
import org.springframework.beans.factory.FactoryBean;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
@@ -383,7 +384,7 @@ public class AsyncExecutionTests {
|
||||
listenerConstructed = 0;
|
||||
GenericApplicationContext context = new GenericApplicationContext();
|
||||
RootBeanDefinition listenerDef = new RootBeanDefinition(AsyncClassListener.class);
|
||||
listenerDef.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
|
||||
listenerDef.setScope(BeanDefinition.SCOPE_PROTOTYPE);
|
||||
context.registerBeanDefinition("asyncTest", listenerDef);
|
||||
context.registerBeanDefinition("autoProxyCreator", new RootBeanDefinition(DefaultAdvisorAutoProxyCreator.class));
|
||||
context.registerBeanDefinition("asyncAdvisor", new RootBeanDefinition(AsyncAnnotationAdvisor.class));
|
||||
|
||||
Reference in New Issue
Block a user