Как @Inject стороннего класса в JavaEE - PullRequest
2 голосов
/ 03 февраля 2012

В следующем примере, как внедрить класс из сторонней библиотеки?Например,

@Stateless
class MyStatelessService
{
@Inject Gson gson;
...
}

Полагаю, мне нужно создать какой-нибудь класс инжектора бина, отвечающий за все сторонние классы.Как это сделать?

1 Ответ

2 голосов
/ 03 февраля 2012

Вам нужно создать специализированного производителя для типа, который вы хотите внедрить. Идеальный пример для вас уже существует - это инъекция Logger с использованием расширений шва.

@Inject
Logger log;

Вы можете посмотреть расширение сварного шва здесь:

https://github.com/weld/extensions/blob/master/impl/src/main/java/org/jboss/weld/extensions/log/

и сам Producer.java здесь:

https://github.com/weld/extensions/blob/master/impl/src/main/java/org/jboss/weld/extensions/log/Producers.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...