Назад к вопросам
Middle+
6
Для чего нужны prototype бины в Spring? Приведите пример использования.
Компании, где спрашивали
луция
Ответ от нейросети
sobes.tech AI
В Spring бины с областью видимости prototype создаются заново при каждом запросе из контейнера, в отличие от синглтонов, которые создаются один раз при старте приложения.
Это полезно, когда нужен новый экземпляр объекта для каждого использования, например, для хранения состояния, уникального для каждого вызова.
Пример использования:
@Component
@Scope("prototype")
public class UserSession {
private String sessionId;
// геттеры и сеттеры
}
@Service
public class UserService {
@Autowired
private ApplicationContext context;
public void process() {
UserSession session = context.getBean(UserSession.class);
// каждый вызов getBean возвращает новый экземпляр
session.setSessionId(UUID.randomUUID().toString());
// работа с сессией
}
}
Таким образом, prototype-бины позволяют создавать объекты с уникальным состоянием для каждого запроса, что невозможно при синглтон-области видимости.