Back to questions
Junior — Middle
58
Каким образом в Spring можно определить прототипный бин, чтобы при каждом запросе создавался отдельный экземпляр объекта?
Companies where asked
ITFB Group
Answer from AI
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.