Встречается на собеседованиях • сегодня
Как настроить Spring для создания нового экземпляра бина @Component класса, где он используется через @Autowired
Для создания нового экземпляра бина при каждом использовании через @Autowired нужно использовать аннотацию @Scope("prototype") над классом компонента. По умолчанию Spring создает синглтоны, но с этой аннотацией будет создаваться новый экземпляр при каждом внедрении или вызове getBean().
Пример:
java
@Component
@Scope("prototype")
public class PrototypeBean {
// ...
}
@Service
public class MyService {
@Autowired
private PrototypeBean prototypeBean; // Каждый раз будет новый экземпляр
}Важно: если PrototypeBean внедряется в Singleton-бин, то Spring создаст его только один раз при инициализации контекста. Для получения нового экземпляра при каждом вызове нужно использовать:
@LookupметодApplicationContext.getBean()ObjectProvider(рекомендуемый способ)

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