springframework - Frijoles con estado y frijoles sin estado en el contexto de primavera
thymeleaf spring security 5 login (2)
Estoy leyendo Spring a través de su documentación oficial y en un lugar llegué a una línea que utiliza un ámbito de prototipo para todos los frijoles de estado completo mientras que singleton para frijoles sin estado.
Sé que en EJB hay algo así como beans sin estado y sin estado, pero esto no es lo que han mencionado en los documentos.
¿Puede alguien explicarme qué significa exactamente este medio de los frijoles con estado y sin estado en la primavera?
Gracias por adelantado
Desde la perspectiva de la primavera.
frijoles sin estado: frijoles que son singleton y se inicializan solo una vez. El único estado que tienen es un estado compartido. Estos beans se crean mientras se inicializa
ApplicationContext
. La instancia de bean SAME se devolverá / inyectará durante el tiempo de vida de esteApplicationContext
.frijoles de estado: frijoles que pueden llevar el estado (variables de instancia). Estos se crean CADA vez que se requiere un objeto (como usar el operador "nuevo" en java).
Estos no son EJB statfull / stateless sesión beans.
Enlace útil
http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch04s04.html
Por defecto, si no especifica ningún alcance para los beans, esos beans se tratarán como singleton (sin estado). Solo se ha creado un bean creado para la aplicación.
Si especifica scope = "prototype" para beans, esos beans serán tratados como prototype (con estado). Se creará un nuevo bean cuando sea necesario.