Встречается на собеседованиях • сегодня
Можно ли в Runtime заменить Bean
Да, можно заменить Bean в Runtime, но это требует осторожности. В Spring для этого можно использовать DefaultListableBeanFactory.
Пример замены существующего бина:
java
@Autowired
private DefaultListableBeanFactory beanFactory;
public void replaceBean(String beanName, Object newBean) {
beanFactory.destroySingleton(beanName); // Удаляем старый бин
beanFactory.registerSingleton(beanName, newBean); // Регистрируем новый
}
text
**Важно:**
- Замена бина может нарушить зависимости других бинов.
- Не все контексты поддерживают динамическую замену (например, в Spring Boot могут быть ограничения).
- Лучше использовать Proxy или паттерны вроде Decorator, если возможно.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы