Commit 06aa35b9 authored by Stephane Nicoll's avatar Stephane Nicoll

Clarify usage of EnvironmentPostProcessor

Closes gh-6101
parent 5e4f84cf
...@@ -82,6 +82,15 @@ by the `ApplicationContext` as well. See ...@@ -82,6 +82,15 @@ by the `ApplicationContext` as well. See
_<<spring-boot-features.adoc#boot-features-application-events-and-listeners>>_ in the _<<spring-boot-features.adoc#boot-features-application-events-and-listeners>>_ in the
'`Spring Boot features`' section for a complete list. '`Spring Boot features`' section for a complete list.
It is also possible to customize the `Environment` before the application context is
refreshed using `EnvironmentPostProcessor`. Each implementation should be registered in
`META-INF/spring.factories`:
[source,properties,indent=0]
----
org.springframework.boot.env.EnvironmentPostProcessor=com.example.YourEnvironmentPostProcessor
----
[[howto-build-an-application-context-hierarchy]] [[howto-build-an-application-context-hierarchy]]
......
/* /*
* Copyright 2012-2015 the original author or authors. * Copyright 2012-2016 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -24,7 +24,17 @@ import org.springframework.core.env.Environment; ...@@ -24,7 +24,17 @@ import org.springframework.core.env.Environment;
* Allows for customization of the application's {@link Environment} prior to the * Allows for customization of the application's {@link Environment} prior to the
* application context being refreshed. * application context being refreshed.
* *
* <p>EnvironmentPostProcessor implementations have to be registered in
* {@code META-INF/spring.factories}, using the fully qualified name of this
* class as the key.
*
* <p>{@code EnvironmentPostProcessor} processors are encouraged to detect
* whether Spring's {@link org.springframework.core.Ordered Ordered} interface has been
* implemented or if the @{@link org.springframework.core.annotation.Order Order}
* annotation is present and to sort instances accordingly if so prior to invocation.
*
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Stephane Nicoll
* @since 1.3.0 * @since 1.3.0
*/ */
public interface EnvironmentPostProcessor { public interface EnvironmentPostProcessor {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment