TGViewer
Android разработка Android разработка @android_its · 4.88K subscribers
Post #750 1.55K
🚀 Spring Boot: когда использовать static-классы, а когда Bean

Частая ошибка в Spring - использовать static-утилиты там, где нужен управляемый компонент.

Правило простое

Используйте static-классы только если:
- они не хранят состояние
- у них нет зависимостей
- не требуется mock в тестах
- не нужен AOP (логирование, транзакции и т.д.)

Во всех остальных случаях — лучше Spring Bean.

Почему это важно

Пример с static-кэшем:


public class CacheUtils {
private static Map<String, String> cache = new HashMap<>();
}


Такой кэш:
• общий для всех потоков
• может случайно изменяться
• сложно контролировать и тестировать

нет управления жизненным циклом

Правильный подход — Bean со scope:

@Component
@Scope("request")
public class CacheService {
private Map<String, String> cache = new HashMap<>();
}
Теперь:

Spring управляет жизненным циклом

можно задать scope (request, session, singleton)

легко тестировать и мокать

можно добавить AOP

Главная мысль

Static — только для чистых функций.
Состояние и логика — пусть управляет Spring.

Spring лучше всего работает, когда управляет stateful-объектами.
  • ❤ 1
  • 👍 1
  • 🔥 1
More from @android_its
  1. Sep 16, 2026🚀 JetBrains обновила roadmap Kotlin: главный фокус - Multiplatform, Wasm и удобство разра…
  2. Aug 23, 2026✔️ Как работают SAM-conversions Single Abstract Method (SAM) интерфейсы — это интерфейсы т…
  3. Aug 23, 2026🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажет…
  4. Aug 19, 2026✔️ Апдейт ChatGPT: изолированный контекст в Projects, тесты для проверки знаний и правки д…
  5. Aug 6, 2026💡 Android/Kotlin: не перезапускайте `Flow` после каждого поворота экрана Частая ошибка в…
  6. Aug 4, 2026🔥 JetBrains открыла исходники KotlinLLM - Kotlin-код, который дописывает себя во время вы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →