Назад к вопросам
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(). Это полезно, когда нужен независимый экземпляр с собственным состоянием для каждого использования.