Prototype scope

When we need to create multiple instances of a bean, then we use the prototype scope. A prototype scoped bean is mostly used for stateful beans. So, on each and every request, a new instance of the bean will be created by the IoC container. This bean can be injected into another bean, or used by calling a getBean() method of a container.

But, a container does not maintain the record of a prototype bean after initialization. We have to implement a custom BeanPostProcessor to release the resources occupied by the prototype bean. A destroy method of the life cycle is not called in the case of a prototype scope, only initial call-back methods are called for all the objects irrespective of scope: 

So far, we have seen Singleton and Prototype scopes. Both can be used in standalone and web applications, but there are five more scopes that only work in web applications. If we used these scopes with ClassPathXmlApplicationContext, then it will throw an IllegalStateException for an unknown scope.

To use the request, session, global session, application, and websocket scopes, we need to use a web-aware application context implementation (XmlWebApplicationContext). Let's look at all the web scopes in detail.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.106.233