Document when to use multiple property placeholder configurers
This commit adds a warning in the reference guide to address the use cases where users might be tempted to use several property placeholder configurers. Closes gh-14623
This commit is contained in:
parent
875eeabb6f
commit
69c92f9ac7
|
@ -565,6 +565,17 @@ is a convenience mechanism that sets up a xref:core/beans/factory-extension.adoc
|
||||||
for you. If you need more control over the specific
|
for you. If you need more control over the specific
|
||||||
`PropertySourcesPlaceholderConfigurer` setup, you can explicitly define it as a bean yourself.
|
`PropertySourcesPlaceholderConfigurer` setup, you can explicitly define it as a bean yourself.
|
||||||
|
|
||||||
|
[WARNING]
|
||||||
|
=====
|
||||||
|
Only one such element should be defined for a given application with the properties
|
||||||
|
that it needs. Several property placeholders can be configured as long as they have distinct
|
||||||
|
placeholder syntax (`${...}`).
|
||||||
|
|
||||||
|
If you need to modularize the source of properties used for the replacement, you should
|
||||||
|
not create multiple properties placeholders. Rather, each module should contribute a
|
||||||
|
`PropertySource` to the `Environment`. Alternatively, you can create your own
|
||||||
|
`PropertySourcesPlaceholderConfigurer` bean that gathers the properties to use.
|
||||||
|
=====
|
||||||
|
|
||||||
[[xsd-schemas-context-ac]]
|
[[xsd-schemas-context-ac]]
|
||||||
=== Using `<annotation-config/>`
|
=== Using `<annotation-config/>`
|
||||||
|
|
|
@ -372,6 +372,17 @@ The `PropertySourcesPlaceholderConfigurer` not only looks for properties in the
|
||||||
file you specify. By default, if it cannot find a property in the specified properties files,
|
file you specify. By default, if it cannot find a property in the specified properties files,
|
||||||
it checks against Spring `Environment` properties and regular Java `System` properties.
|
it checks against Spring `Environment` properties and regular Java `System` properties.
|
||||||
|
|
||||||
|
[WARNING]
|
||||||
|
=====
|
||||||
|
Only one such element should be defined for a given application with the properties
|
||||||
|
that it needs. Several property placeholders can be configured as long as they have distinct
|
||||||
|
placeholder syntax (`${...}`).
|
||||||
|
|
||||||
|
If you need to modularize the source of properties used for the replacement, you should
|
||||||
|
not create multiple properties placeholders. Rather, you should create your own
|
||||||
|
`PropertySourcesPlaceholderConfigurer` bean that gathers the properties to use.
|
||||||
|
=====
|
||||||
|
|
||||||
[TIP]
|
[TIP]
|
||||||
=====
|
=====
|
||||||
You can use the `PropertySourcesPlaceholderConfigurer` to substitute class names, which
|
You can use the `PropertySourcesPlaceholderConfigurer` to substitute class names, which
|
||||||
|
|
Loading…
Reference in New Issue