Cuando crea una definición de bean, crea un conjunto de reglas para crear instancias reales de la clase definida por esa definición de bean. La idea de que una definición de bean es un conjunto de reglas es importante porque significa que, al igual que una clase, puedes crear múltiples instancias de objetos a partir de un único conjunto de reglas.
No solo puede controlar las diversas dependencias y valores de configuración que deben adjuntarse a un objeto creado
a partir de una definición de bean particular, sino que también puede controlar el alcance de los objetos creados a
partir de una definición de bean particular. Este enfoque tiene grandes beneficios y es flexible porque puede elegir
el alcance de los objetos que crea mediante la configuración, en lugar de tener que preparar el alcance del objeto
en el nivel de clase Java. Los beans se pueden definir para implementarse en uno de varios ámbitos. Spring Framework
admite seis ámbitos, cuatro de los cuales solo están disponibles si utiliza ApplicationContext
compatible con la web. También puedes crear un alcance especial.
La siguiente tabla describe los ámbitos admitidos:
Scope | Description |
---|---|
singleton object |
(Predeterminado) Aplica el alcance de una única definición de bean a una única instancia de objeto para cada contenedor Spring IoC. |
prototype |
Aplica el alcance de una única definición de bean a cualquier número de instancias de objetos. |
request |
Aplica el alcance de una única definición de bean al ciclo de vida de una única solicitud
HTTP. Por lo tanto, para cada nueva solicitud HTTP, se crea una nueva instancia de bean
basada en una única definición de bean. Válido solo en el contexto del |
session |
Aplica el alcance de una única definición de bean para el ciclo de vida HTTP
|
application |
Aplica el alcance de una única definición de bean al ciclo de vida de
|
websocket |
Aplica el alcance de una única definición de bean para el ciclo de vida de
|
SimpleThreadScope
. Para obtener instrucciones sobre cómo
registrar este o cualquier otro ámbito personalizado, consulte Uso de un ámbito
personalizado.
GO TO FULL VERSION