2013-11-12 3 views
1

В соответствии с EJB3 DI documentation можно вводить поля и сеттеры. Но как вводить конструктор bean?Как встраивать конструктор EJB3?

+0

Что вы подразумеваете под «для вставки компонента-компонента»? –

+0

Боб является классом, у класса есть конструктор. Чтобы быть более подверженным тестированию классу, он должен принимать свои зависимости через свой конструктор. Может ли EJB разрешать зависимости классов, такие как Guice и Spring DI? – Adelin

ответ

2

Спецификация EJB не поддерживает впрыск конструктора. Модель программирования EJB использует только конструктор no-arg и затем может выполнять инъекцию метода поля или сеттера после создания экземпляра.

При этом EJB 3.1 является частью EE 6, которая включает CDI. Если ваш EJB-модуль является CDI BDA (архив развертывания боба), поскольку он включает beans.xml, то вы можете использовать инсталляцию конструктора CDI.

+0

Ага, я понял. Но быть неспособным вставить конструктор очень плохой дизайн! – Adelin

+0

Если вашему дизайну требуется инъекция конструктора, вы можете использовать CDI. Если это ответит на ваш вопрос, пожалуйста, примите. –