public interface

ContextLoader

org.springframework.test.context.ContextLoader
Known Indirect Subclasses

Class Overview

Strategy interface for loading an application context.

Clients of a ContextLoader should call #processLocations(Class,String...) processLocations() prior to calling loadContext() in case the ContextLoader provides custom support for modifying or generating locations. The results of #processLocations(Class,String...) processLocations() should then be supplied to loadContext().

Concrete implementations must provide a public no-args constructor.

Spring provides the following out-of-the-box implementations:

Summary

Public Methods
abstract ApplicationContext loadContext(String... locations)
Loads a new context based on the supplied locations, configures the context, and finally returns the context in fully refreshed state.
abstract String[] processLocations(Class<?> clazz, String... locations)
Processes application context resource locations for a specified class.

Public Methods

public abstract ApplicationContext loadContext (String... locations)

Loads a new context based on the supplied locations, configures the context, and finally returns the context in fully refreshed state.

Configuration locations are generally considered to be classpath resources by default.

Concrete implementations should register annotation configuration processors with bean factories of application contexts loaded by this ContextLoader. Beans will therefore automatically be candidates for annotation-based dependency injection using @Autowired and javax.annotation.Resource @Resource.

Any ApplicationContext loaded by a ContextLoader must register a JVM shutdown hook for itself. Unless the context gets closed early, all context instances will be automatically closed on JVM shutdown. This allows for freeing external resources held by beans within the context, e.g. temporary files.

Parameters
locations the resource locations to use to load the application context
Returns
  • a new application context
Throws
Exception if context loading failed

public abstract String[] processLocations (Class<?> clazz, String... locations)

Processes application context resource locations for a specified class.

Concrete implementations may choose to modify the supplied locations, generate new locations, or simply return the supplied locations unchanged.

Parameters
clazz the class with which the locations are associated: used to determine how to process the supplied locations
locations the unmodified locations to use for loading the application context (can be null or empty)
Returns
  • an array of application context resource locations