diff --git a/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java index 45ae716f6f02..6b94938bb9f1 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java @@ -200,9 +200,10 @@ public final ConfigurableApplicationContext loadContext(String... locations) thr * Factory method for creating the {@link GenericApplicationContext} used by * this {@code ContextLoader}. *

The default implementation creates a {@code GenericApplicationContext} - * using the default constructor. This method may get overridden e.g. to use - * a custom context subclass or to create a {@code GenericApplicationContext} - * with a custom {@link DefaultListableBeanFactory} implementation. + * using the default constructor. This method may be overridden — for + * example, to use a custom context subclass or to create a + * {@code GenericApplicationContext} with a custom + * {@link DefaultListableBeanFactory} implementation. * @return a newly instantiated {@code GenericApplicationContext} * @since 5.2.9 */ diff --git a/spring-test/src/main/java/org/springframework/test/context/web/AbstractGenericWebContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/web/AbstractGenericWebContextLoader.java index e48cfecc8ac8..43f1539ff139 100644 --- a/spring-test/src/main/java/org/springframework/test/context/web/AbstractGenericWebContextLoader.java +++ b/spring-test/src/main/java/org/springframework/test/context/web/AbstractGenericWebContextLoader.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -114,7 +114,7 @@ public final ConfigurableApplicationContext loadContext(MergedContextConfigurati validateMergedContextConfiguration(webMergedConfig); - GenericWebApplicationContext context = new GenericWebApplicationContext(); + GenericWebApplicationContext context = createContext(); ApplicationContext parent = mergedConfig.getParentApplicationContext(); if (parent != null) { @@ -145,6 +145,21 @@ protected void validateMergedContextConfiguration(WebMergedContextConfiguration // no-op } + /** + * Factory method for creating the {@link GenericWebApplicationContext} used + * by this {@code ContextLoader}. + *

The default implementation creates a {@code GenericWebApplicationContext} + * using the default constructor. This method may be overridden — for + * example, to use a custom context subclass or to create a + * {@code GenericWebApplicationContext} with a custom + * {@link DefaultListableBeanFactory} implementation. + * @return a newly instantiated {@code GenericWebApplicationContext} + * @since 5.2.23 + */ + protected GenericWebApplicationContext createContext() { + return new GenericWebApplicationContext(); + } + /** * Configures web resources for the supplied web application context (WAC). *

Implementation Details