Как внедрить внешние API-компоненты с помощью Weld — JSR-299

Мне ясно, как внедрить объект, который находится в моем домене (у меня есть доступ к источнику), используя Weld. Вы просто аннотируете реализацию, например. @Named и @ApplicationScoped, а затем аннотируйте целевой атрибут с помощью @Inject, чтобы внедрить реализацию.

Однако не уверен, как я могу внедрить реализации классов, у которых у меня нет доступа к исходному коду. Например, я использую Dozer. Dozer mapper запрограммирован на интерфейс (Mapper), и я хочу, чтобы Weld внедрил реализацию (DozerBeanMapper), но, поскольку у меня нет доступа к исходному коду, потому что я использую зависимость .jar, я не могу аннотировать его.

Любые идеи о том, как этого добиться?


person Gonzalo Garcia Lasurtegui    schedule 27.10.2010    source источник


Ответы (1)


Аннотации, встроенные в POJO, являются внутренней конфигурацией. Внутренняя конфигурация и сторонние компоненты несовместимы. Внешняя конфигурация (например, beans.xml) — единственный способ. Вы должны проверить документ Weld для внешней конфигурации.

person upson    schedule 07.12.2010