¿Cuál es el scope por defecto de un bean de Spring?
Opciones
- Prototype: una instancia nueva en cada inyección
- Singleton: una instancia compartida por application context (Opción correcta)
- Request: una instancia por cada petición HTTP
- Session: una instancia por cada usuario con sesión iniciada
Respuesta
Singleton: una instancia compartida por application context
Por qué
Por defecto Spring crea UNA instancia de cada bean y la comparte en todas partes (scope singleton; no es el patrón GoF, sino una por contenedor).
Como muchos threads usan el mismo objeto, los beans singleton deben ser stateless: evita campos mutables que cambien por petición.
Existen otros scopes (prototype, request, session), pero rara vez hacen falta.
Recuerda
Los beans son singletons por defecto, así que mantenlos stateless.