@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Inherited public @interface NestedTestConfiguration
@NestedTestConfiguration is a type-level annotation that is used to
 configure how Spring test configuration annotations are processed within
 enclosing class hierarchies (i.e., for inner test classes).
 If @NestedTestConfiguration is not present or
 meta-present on a test class, in its super type hierarchy, or in its
 enclosing class hierarchy, the default enclosing configuration inheritance
 mode will be used. A @NestedTestConfiguration declaration on an
 enclosing class for a nested interface will be ignored when searching for the
 annotation on classes that implement the interface. See
 ENCLOSING_CONFIGURATION_PROPERTY_NAME for details on how to change
 the default mode.
 
When the INHERIT mode is in use,
 configuration from an enclosing test class will be inherited by inner test
 classes, analogous to the semantics within a test class inheritance hierarchy.
 When the OVERRIDE mode is in use,
 inner test classes will have to declare their own Spring test configuration
 annotations. If you wish to explicitly configure the mode, annotate either
 the inner test class or one of its enclosing classes with
 @NestedTestConfiguration(...). Note that a
 @NestedTestConfiguration(...) declaration is inherited within the
 superclass hierarchy as well as within the enclosing class hierarchy. Thus,
 there is no need to redeclare the annotation unless you wish to switch the
 mode.
 
This annotation may be used as a meta-annotation to create custom composed annotations.
As of Spring Framework 5.3, the use of this annotation typically only makes
 sense in conjunction with @Nested test
 classes in JUnit Jupiter; however, there may be other testing frameworks with
 support for nested test classes that could also make use of this annotation.
 
The Spring TestContext Framework honors @NestedTestConfiguration
 semantics for the following annotations.
 
NestedTestConfiguration.EnclosingConfiguration.INHERIT, 
NestedTestConfiguration.EnclosingConfiguration.OVERRIDE| Modifier and Type | Fields and Description | 
|---|---|
| static String | ENCLOSING_CONFIGURATION_PROPERTY_NAMEJVM system property used to change the default enclosing configuration
 inheritance mode: "spring.test.enclosing.configuration". | 
| Modifier and Type | Required Element and Description | 
|---|---|
| NestedTestConfiguration.EnclosingConfiguration | valueConfigures the  NestedTestConfiguration.EnclosingConfigurationmode. | 
public static final String ENCLOSING_CONFIGURATION_PROPERTY_NAME
Supported values include enum constants defined in
 NestedTestConfiguration.EnclosingConfiguration, ignoring case. For example, the default
 may be changed to NestedTestConfiguration.EnclosingConfiguration.OVERRIDE by supplying
 the following JVM system property via the command line.
 
-Dspring.test.enclosing.configuration=override
If the property is not set to OVERRIDE, test configuration for
 an inner test class will be inherited according to
 NestedTestConfiguration.EnclosingConfiguration.INHERIT semantics by default.
 
May alternatively be configured via the
 SpringProperties
 mechanism.
value()public abstract NestedTestConfiguration.EnclosingConfiguration value
NestedTestConfiguration.EnclosingConfiguration mode.