i am reading spring through its official documentation and at one place i came to a line that use prototype scope for for all statefull beans while singleton for stateless beans.
i know there is something as statefull as well stateless beans in EJB but this is not what they have mentioned in the documents.
Can any one explain me what exact this means of statefull as well stateless beans in Spring
Thanks in advance
From spring perspective
stateless beans: beans that are singleton and are initialized only once. The only state they have is a shared state. These beans are created while the ApplicationContext
is being initialized. The SAME bean instance will be returned/injected during the lifetime of this ApplicationContext
.
stateful beans: beans that can carry state (instance variables). These are created EVERY time an object is required (like using the "new" operator in java).
These are not EJB statfull/stateless session beans.
Helpful Link
http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch04s04.html
By default if you don't specify any scope for the beans , those beans will be treated as singleton(stateless). Only one bean created created for Application
If you specify scope="prototype" for beans, those beans will be treated as prototype(stateful). A new bean will be created whenever required.