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

Приведи пример использования bean scope prototype

В Spring prototype scope означает, что каждый запрос на создание бина будет возвращать новый экземпляр. Это полезно, когда состояние бина должно быть уникальным для каждого использования.

Пример:

java
@Component
@Scope("prototype")
public class PrototypeBean {
    private String data;

    public void setData(String data) {
        this.data = data;
    }
text
public String getData() {
    return data;
}

}

text

Использование:
```java
@Autowired
private ApplicationContext context;

public void usePrototype() {
    PrototypeBean bean1 = context.getBean(PrototypeBean.class);
    bean1.setData("First");
    
    PrototypeBean bean2 = context.getBean(PrototypeBean.class);
    bean2.setData("Second");
    
    System.out.println(bean1.getData()); // "First"
    System.out.println(bean2.getData()); // "Second" - разные экземпляры
}

Важно: при инжекте через @Autowired в singleton бины, prototype будет создан только один раз. Для получения нового экземпляра нужно использовать ApplicationContext.getBean() или @Lookup.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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