Class Configurations

java.lang.Object
org.springframework.boot.context.annotation.Configurations
Direct Known Subclasses:
AutoConfigurations, 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
Author:
Phillip Webb
See Also:
  • Constructor Details

  • Method Details

    • sort

      protected Collection<Class<?>> sort(Collection<Class<?>> classes)
      Sort configuration classes into the order that they should be applied.
      Parameters:
      classes - the classes to sort
      Returns:
      a sorted set of classes
    • getClasses

      protected final Set<Class<?>> getClasses()
    • 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)
    • 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