Что такое Prototype Bean

Ответ

В Spring, prototype bean — это бин, который создаётся каждый раз заново при запросе из контекста. В отличие от singleton (по умолчанию), где один экземпляр на весь контекст.

Пример:

@Configuration
public class AppConfig {
    @Bean
    @Scope("prototype")
    public MyPrototypeBean myPrototypeBean() {
        return new MyPrototypeBean();
    }
}

Особенности:

  • Каждый getBean() или инжект создаёт новый экземпляр
  • Подходит для stateful компонентов
  • Spring не управляет полным lifecycle (не вызывает destroy-методы)
  • Может привести к утечкам памяти, если не контролировать создание

Используется, когда нужно независимое состояние для каждого использования.