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 ...

Get Java 9 Dependency Injection now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.