Вам нужны в основном синглтоны.(Spring default.) Singletons должны быть поточно-ориентированными, потому что параллельные запросы будут использовать один и тот же экземпляр.Фактически, они должны быть полностью не сохраняющими состояние, потому что они могут быть уничтожены и воссозданы в любое время.
Если вам нужно отслеживать состояние внутри вашего компонента (вы не должны этого делать, это должно быть в базе данных илихранится в запросе), вы получите много экземпляров одного и того же типа bean-компонента, использование памяти возрастает с увеличением количества запросов, в результате чего с одиночными компонентами у вас останется только один экземпляр.
Даже если вы используетебины к запросу, они все равно должны быть как минимум поточно-ориентированными (запросы поступают из одного и того же браузера одновременно).