RE: is it necessary to create instance of the bean for each and every request?
No why because beans are maintaining one bean pool. If any request comes to that bean it will first see in that pool if any instance is free then that instance will be thrown to the request. If no instace is free then the bean creates new instance. But each bean pool will have some size limit. If it reaches the request will not get any instance so the request waits for instance.