Sobes.tech
Назад к вопросам
Junior — Middle
59

Каким образом в Spring можно определить прототипный бин, чтобы при каждом запросе создавался отдельный экземпляр объекта?

Компании, где спрашивали
ITFB Group

Ответ от нейросети

sobes.tech AI

В Spring для определения прототипного бина используется аннотация @Scope("prototype"). Это означает, что при каждом запросе бина из контекста Spring будет создаваться новый экземпляр объекта.

Пример:

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component
@Scope("prototype")
public class MyPrototypeBean {
    // поля и методы
}

Если бин объявлен с таким скоупом, то при каждом вызове applicationContext.getBean(MyPrototypeBean.class) будет возвращаться новый объект.

Важно: если прототипный бин внедряется в синглтон, то по умолчанию создается один экземпляр при создании синглтона. Чтобы получить новый экземпляр прототипного бина при каждом использовании, можно использовать ObjectFactory или Provider.