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

Каким образом реализуются прототипы бинов в рамках контейнера Inversion of Control?

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

sobes.tech AI

В контейнере Inversion of Control (например, в Spring) прототипы бинов реализуются через указание scope="prototype" в конфигурации. Это значит, что при каждом запросе бина из контейнера создаётся новый экземпляр, в отличие от singleton, где создаётся один экземпляр на весь контейнер.

Пример в Spring XML:

<bean id="myBean" class="com.example.MyClass" scope="prototype"/>

Или с аннотацией:

@Component
@Scope("prototype")
public class MyClass {
    // ...
}

При таком подходе контейнер не кэширует экземпляр, а создает новый при каждом вызове getBean(). Это полезно, когда нужен независимый экземпляр с собственным состоянием для каждого использования.