Junior — Middle
¿Cómo se puede definir un bean prototipo en Spring para que se cree una instancia separada del objeto en cada solicitud?
sobes.tech AI
Respuesta de la IA
В 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.