Подтвердить что ты не робот

Какова область по умолчанию для Именованного CDI bean?

Есть ли какая-либо область по умолчанию для @Named CDI bean без дополнительных аннотаций @...Scoped? Я не нашел никакой соответствующей информации в официальной документации Weld .

A @Named bean можно получить через JSF без дополнительных аннотаций, поэтому некоторые неявные области могут показаться вероятными.

Спасибо

4b9b3361

Ответ 1

Область по умолчанию - зависимая псевдо-область @Dependent, как указано в документации по сварке:

CDI имеет так называемый зависимый псевдообзор. Это значение по умолчанию scope для bean, который явно не объявляет тип области. [...] Экземпляр зависимого bean никогда не делится между различными клиентов или разных точек инъекции. Это строго зависимая объект другого объекта. Он создается, когда объект принадлежит к, и уничтожается, когда объектом, к которому он принадлежит, является уничтожены.

javadoc для этой аннотации дает дополнительную информацию об этой области:

Beans, объявленный с помощью области @Dependent, ведет себя по-разному с beans с другие встроенные типы областей. Когда объявлен bean имеющий область видимости @Dependent:

  • Инъекционный экземпляр bean никогда не используется между несколькими точками ввода.
  • Любой экземпляр bean, введенный в объект, который создается контейнером, привязан к жизненному циклу новоиспеченного созданный объект.
  • Когда оценивается унифицированное выражение EL на странице JSF или JSP, ссылающееся на bean на его имя EL, не более одного экземпляра bean создается. Этот экземпляр существует для обслуживания только одного оценка EL-выражения. Он используется повторно, если имя bean EL
    появляется несколько раз в EL-выражении, но никогда не используется повторно выражение EL оценивается снова или когда другое выражение EL оценивается.
  • Любой экземпляр bean, который получает метод производителя, поле производителя, метод удаления или метод вызова наблюдателя, существует в только для этого вызова.
  • Любой экземпляр bean, введенный в параметры метода метода удаления или метода наблюдателя, существует для обслуживания метода только для вызова.