Встречается на собеседованиях • сегодня

Можно ли создать несколько Singleton из одного класса в Spring

В Spring по умолчанию Singleton означает один бин на контейнер, но есть нюансы: 1. **Один бин на контейнер** - стандартное поведение: ```java @Component public class MySingleton { ... } // Только один экземпляр в ApplicationContext ``` 2. **Разные контейнеры** - если создать несколько ApplicationContext, в каждом будет свой Singleton. 3. **Scope "prototype"** - создает новый экземпляр при каждом запросе: ```java @Scope("prototype") @Component public class MyPrototype { ... } ``` 4. **ThreadLocal** - можно имитировать "per-thread" Singleton: ```java @Component public class ThreadLocalSingleton { private static final ThreadLocal instance = ThreadLocal.withInitial(ThreadLocalSingleton::new); public static ThreadLocalSingleton get() { return instance.get(); } } ``` Spring управляет жизненным циклом бинов, поэтому "настоящий" Singleton в Spring - это всегда один экземпляр в рамках одного ApplicationContext.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы