Встречается на собеседованиях • сегодня
Как внедрить Prototype в Singleton
Внедрение Prototype в Singleton требует осторожности, т.к. Singleton создается один раз, а Prototype должен создавать новые экземпляры. Решение — использовать ApplicationContext или Provider.
Пример с Spring:
```java
@Component
@Scope("prototype")
public class PrototypeBean { /*...*/ }
@Component
public class SingletonBean {
@Autowired
private ApplicationContext context;
public PrototypeBean getPrototype() {
return context.getBean(PrototypeBean.class);
}
}
```
Или с javax.inject.Provider:
```java
@Inject
private Provider prototypeProvider;
public PrototypeBean getPrototype() {
return prototypeProvider.get();
}
```
Ключевые моменты:
1. Не инжектить Prototype напрямую в Singleton
2. Использовать механизмы lazy-создания
3. В Spring предпочтительнее ApplicationContext
4. В чистом Java — Provider или фабричный метод

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы