Встречается на собеседованиях • сегодня
Как в Spring настроить Prototype Bean, чтобы каждый раз создавался новый объект
В Spring Prototype Bean создаётся новый при каждом запросе. Настройка проста:
1. Аннотация `@Scope("prototype")` над классом бина:
```java
@Component
@Scope("prototype")
public class PrototypeService {
// ...
}
```
2. Или в XML-конфигурации:
```xml
```
Важные нюансы:
- Spring не управляет полным жизненным циклом prototype бинов (не вызывает destroy-методы)
- При инжекте в singleton нужно использовать `@Lookup` или `Provider`
- Для proxy-режима можно указать `@Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS)`
Пример с Provider:
```java
@Autowired
private Provider prototypeServiceProvider;
public void usePrototype() {
PrototypeService service = prototypeServiceProvider.get();
// ...
}
```

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