Как человек, который ранее работал в SpringSource и общался с разработчиками на эту тему. Вот мой дубль. Prototype отлично подходит для тестирования вещей, отсюда и название prototype, а не createnew или что-то большее описание создания нового экземпляра bean-компонента каждый раз, когда вы запрашиваете его из контейнера Spring.
В течение многих лет я также обнаружил, что не могу найти что-либо другое, где прототип имеет смысл в любом реальном приложении. Если ваш объект содержит состояние, он обычно не должен быть компонентом Spring. Во всех приложениях, над которыми я работал, я обнаружил, что все bean-компоненты - это Services, Repositories и Singleton-объекты, не содержащие состояния, где мне нужно добавлять такие функции, как Transactionality, JPA, JMS и тому подобное, которые предоставляют нам корпоративные функции, которые POJO не делают. есть.
Объекты в моей системе, которые содержат состояние, могут быть моими объектами Entity и View DTO или другими вещами, которые просто не имеют смысла быть Spring Bean. Поэтому в моих приложениях на производстве не было ни одного компонента-прототипа.