Class Configurations

java.lang.Object
org.springframework.boot.context.annotation.Configurations
Direct Known Subclasses:
UserConfigurations

public abstract class Configurations extends Object
A set of @Configuration classes that can be registered in ApplicationContext. Classes can be returned from one or more Configurations instances by using getClasses(Configurations[]). The resulting array follows the ordering rules usually applied by the ApplicationContext and/or custom ImportSelector implementations.

This class is primarily intended for use with tests that need to specify configuration classes but can't use SpringRunner.

Implementations of this class should be annotated with @Order or implement Ordered.

Since:
2.0.0
See Also:
  • Constructor Details

  • Method Details

    • getClasses

      protected final Set<Class<?>> getClasses()
    • sort

      @Deprecated(since="3.4.0", forRemoval=true) protected Collection<Class<?>> sort(Collection<Class<?>> classes)
      Deprecated, for removal: This API element is subject to removal in a future version.
      since 3.4.0 for removal in 3.6.0 in favor of Configurations(UnaryOperator, Collection, Function)
      Sort configuration classes into the order that they should be applied.
      Parameters:
      classes - the classes to sort
      Returns:
      a sorted set of classes
    • merge

      protected Configurations merge(Configurations other)
      Merge configurations from another source of the same type.
      Parameters:
      other - the other Configurations (must be of the same type as this instance)
      Returns:
      a new configurations instance (must be of the same type as this instance)
    • merge

      protected abstract Configurations merge(Set<Class<?>> mergedClasses)
      Merge configurations.
      Parameters:
      mergedClasses - the merged classes
      Returns:
      a new configurations instance (must be of the same type as this instance)
    • getBeanName

      public String getBeanName(Class<?> beanClass)
      Return the bean name that should be used for the given configuration class or null to use the default name.
      Parameters:
      beanClass - the bean class
      Returns:
      the bean name
      Since:
      3.4.0
    • getClasses

      public static Class<?>[] getClasses(Configurations... configurations)
      Return the classes from all the specified configurations in the order that they would be registered.
      Parameters:
      configurations - the source configuration
      Returns:
      configuration classes in registration order
    • getClasses

      public static Class<?>[] getClasses(Collection<Configurations> configurations)
      Return the classes from all the specified configurations in the order that they would be registered.
      Parameters:
      configurations - the source configuration
      Returns:
      configuration classes in registration order
    • collate

      public static List<Configurations> collate(Collection<Configurations> configurations)
      Collate the given configuration by sorting and merging them.
      Parameters:
      configurations - the source configuration
      Returns:
      the collated configurations
      Since:
      3.4.0