Где я должен объявить мои ресурсы CDI?
-
26-09-2019 - |
Вопрос
JSR-299 (CDI) вводит (к сожалению) концепцию ресурса: http://docs.jboss.org/weld/reference/1.0.0/en-us/html/resources.html#d0e4373.
Вы можете подумать об ресурсе в этой номенклатуре как мост между Java EE 6 марка впрыска зависимостей (@EJB, @Resource, @PersistenceCtextext и тому подобное) и инъекции зависимости CDI.
Генеральный гиз, кажется, где-то где-то (и это будет корнем моего вопроса), вы заявляете, что суммы на класс моста: он содержит поля, аннотированные как с Java EE @ejb или @persistenceCtextext или @Resource Annotations, а также с @Produces Аннотации. Чистый эффект заключается в том, что Java EE 6 вводит контекст настойчивости, скажем, где он вызывается, и CDI распознает, что вводил PersiSceCteCtext в качестве источника для будущих инъекций вниз по линии (обрабатывается @inject).
Мой вопрос: каково консенсус сообщества - или есть один - на:
- Что этот класс моста должен быть назван
- где этот класс моста должен жить
- Лучше всего ли локализовать все эти вещи в один класс или сделать несколько из них
...?
Влево на мои собственные устройства, я думал, объявил один класс под названием CDIResources
И используя это как одно истинное место для связи Java EE's Di с DI CDI. Многие примеры делают что-то подобное, но я не ясно, что они «просто» примеры или ли это хороший способ сделать это.
Спасибо.
Решение
Это кажется высоко субъективным, но я предпочитаю сделать несколько классов и я вызов FooProducer
класс, производящий Foo
.