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

Можно ли в 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, если возможно.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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