Explicit notes on access to standard context beans in SpEL expressions
Closes gh-25037
This commit is contained in:
parent
9d429e30de
commit
28177ad91b
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2018 the original author or authors.
|
* Copyright 2002-2020 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.
|
||||||
|
@ -41,8 +41,13 @@ import org.springframework.util.StringUtils;
|
||||||
* {@link org.springframework.beans.factory.config.BeanExpressionResolver}
|
* {@link org.springframework.beans.factory.config.BeanExpressionResolver}
|
||||||
* interface, parsing and evaluating Spring EL using Spring's expression module.
|
* interface, parsing and evaluating Spring EL using Spring's expression module.
|
||||||
*
|
*
|
||||||
|
* <p>All beans in the containing {@code BeanFactory} are made available as
|
||||||
|
* predefined variables with their common bean name, including standard context
|
||||||
|
* beans such as "environment", "systemProperties" and "systemEnvironment".
|
||||||
|
*
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @since 3.0
|
* @since 3.0
|
||||||
|
* @see BeanExpressionContext#getBeanFactory()
|
||||||
* @see org.springframework.expression.ExpressionParser
|
* @see org.springframework.expression.ExpressionParser
|
||||||
* @see org.springframework.expression.spel.standard.SpelExpressionParser
|
* @see org.springframework.expression.spel.standard.SpelExpressionParser
|
||||||
* @see org.springframework.expression.spel.support.StandardEvaluationContext
|
* @see org.springframework.expression.spel.support.StandardEvaluationContext
|
||||||
|
|
|
@ -539,8 +539,12 @@ example shows:
|
||||||
</bean>
|
</bean>
|
||||||
----
|
----
|
||||||
|
|
||||||
The `systemProperties` variable is predefined, so you can use it in your expressions, as
|
All beans in the application context are available as predefined variables with their
|
||||||
the following example shows:
|
common bean name. This includes standard context beans such as `environment` (of type
|
||||||
|
`org.springframework.core.env.Environment`) as well as `systemProperties` and
|
||||||
|
`systemEnvironment` (of type `Map<String, Object>`) for access to the runtime environment.
|
||||||
|
|
||||||
|
The following example shows access to the `systemProperties` bean as a SpEL variable:
|
||||||
|
|
||||||
[source,xml,indent=0,subs="verbatim"]
|
[source,xml,indent=0,subs="verbatim"]
|
||||||
----
|
----
|
||||||
|
@ -551,8 +555,7 @@ the following example shows:
|
||||||
</bean>
|
</bean>
|
||||||
----
|
----
|
||||||
|
|
||||||
Note that you do not have to prefix the predefined variable with the `#`
|
Note that you do not have to prefix the predefined variable with the `#` symbol here.
|
||||||
symbol in this context.
|
|
||||||
|
|
||||||
You can also refer to other bean properties by name, as the following example shows:
|
You can also refer to other bean properties by name, as the following example shows:
|
||||||
|
|
||||||
|
@ -576,8 +579,8 @@ You can also refer to other bean properties by name, as the following example sh
|
||||||
[[expressions-beandef-annotation-based]]
|
[[expressions-beandef-annotation-based]]
|
||||||
=== Annotation Configuration
|
=== Annotation Configuration
|
||||||
|
|
||||||
To specify a default value, you can place the `@Value` annotation on fields, methods, and method or constructor
|
To specify a default value, you can place the `@Value` annotation on fields, methods,
|
||||||
parameters.
|
and method or constructor parameters.
|
||||||
|
|
||||||
The following example sets the default value of a field variable:
|
The following example sets the default value of a field variable:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue