Я заменяю объявления управляемого bean в faces-config с CDI (Weld).Внедрение неконтролируемых классов с CDI?
Проблема заключается в основном это:
проект структурируется в «сети» и «ядро». В Интернете есть компоненты, объявленные как управляемые компоненты. У них также есть объявленные свойства, которые не являются фасолью, а pojos (?). Ключевыми классами являются классы интеграции, классы домена и т. Д.
Я не могу назвать основной класс с @Named, потому что он явно не знаком с артефактами в веб-части приложения.
Сегодня они указаны как этот
<managed-property>
<property-name>UserData</property-name>
<value>#{sessionScope.UserData}</value>
</managed-property>
Я пытаюсь прочитать об этом, но был бы признателен за помощь.
Как внедрить управляемое свойство, что это не управляемый компонент с помощью CDI (или даже JSF2?)
Инъекционного управляемых бобов в управляемые компоненты работает безупречно и CDI действительно ноги, как для меня, так что я надеюсь, что решить эту проблему скоро.
Приветствия
С JSF2 аннотации можно было бы с помощью '@ManagedProperty (" # {sessionScope.userData } ")' на нужном свойстве 'userData' класса' @ ManagedBean'. Не знаю, как это сделать с CDI. Кстати, ваша капитализация имени переменной экземпляра неверна. Он должен начинаться с строчной буквы. – BalusC
Сообщение об ошибке при попытке просто впрыскивать было забыто: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Неудовлетворенные зависимости для типа [FPUserData] с квалификаторами [@Default] в точке впрыска [[поле] @Inject private com .wmdata.raindance.portal.ui.RPBaseController.fpUserData] –
Теперь я боюсь, когда сам гуру не знает. Вы правы в имени переменной экземпляра, я вырезал часть имени, которая ничего не значила бы для других, чтобы повысить читаемость. –