Вообще-то тут должен быть маппинг доменной модели, но о нём, видимо, забыли и пытаются сохранить ее в бд непосредственно, и, самое ужасное, восстановить.
То, что слой есть - похвально, то, что там ничего не происходит (хотя должно) - нет.
У вас не синглтон.
Аннотация @RequestScope как раз о том, что бин будет создаваться каждый раз новый в рамках запроса.
Это, кстати, не отменяет замечание Сергея о прокси-объекте: при создании контроллера внедряется этот самый прокси-объект, а он уже внутри управляет экземплярами LoginProccesor
Общий подход такой - не использовать доменную модель в интеграциях.
Для общения с внешним миром у вас должны быто DTO классы, которые служат только для того чтобы отдать ответ/получить запрос.
Идеальным решением будут для этого record-ы - иммутабельные и имеющие геттеры "из коробки".
В таком случае такие вопросы отпадут сами по себе, как не имеющие смысла.
0. Это решаемо.
1. Кроме томката можно использовать любой из: https://en.wikipedia.org/wiki/Web_container
2. А еще есть Netty, который скорее фреймворк (я предпочитаю этот вариант).
Spring в действии. Шестое издание | Уоллс Крейг
Spring 5 для профессионалов | Харроп Роб, Шефер Крис
Ну и "Спринг потрошитель", как по мне, достаточно посмотреть чтобы въехать, а дальше документации хватит.
Насчет разделения spring и spring boot в разрезе обучения - это вы себе напридумывали.
Unsupported class file major version 66
Тут написано, что 22я джава не поддерживается.
Попробуйте установить какую-нибудь предыдущую версию.
Рекомендую пробовать lts версии по порядку: 8, 11, 17, 21