Clarify usage of EnvironmentPostProcessor

Closes gh-6101
This commit is contained in:
Stephane Nicoll 2016-06-20 15:29:38 +02:00
parent 5e4f84cf46
commit 06aa35b9da
2 changed files with 20 additions and 1 deletions

View File

@ -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]]

View File

@ -1,5 +1,5 @@
/* /*
* 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;
* 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 {