Объяснение
Dependency injection передаёт зависимости извне. Singleton bean должен безопасно обслуживать параллельные запросы. Конфигурацию окружения отделяют от кода; секреты не хранят в репозитории.
Задача для самостоятельного решения
Можно ли хранить текущего пользователя в поле singleton controller?
Показать разбор ответа
Нет: параллельные запросы перезапишут поле. Передавайте пользователя параметром или используйте предназначенный request context.