我应该在哪里申报我的CDI资源?

时间:2010-06-11 17:23:15

标签: cdi jboss-weld jsr299

JSR-299(CDI)介绍了资源的概念(遗憾地命名):http://docs.jboss.org/weld/reference/1.0.0/en-US/html/resources.html#d0e4373

您可以将此命名法中的资源视为Java EE 6品牌依赖注入(@EJB,@ Resource,@ PersistenceContext等)与CDI依赖注入品牌之间的桥梁。

一般的要点似乎是在某个地方(这将是我的问题的根源)你声明什么相当于一个桥类:它包含用Java EE的@EJB或@PersistenceContext或@Resource注释注释的字段和CDI的@Produces注释。实际效果是Java EE 6注入一个持久化上下文,例如,它所要求的位置,并且CDI识别注入的PersistenceContext作为未来注入的源(由@Inject处理)。

我的问题是:社群的共识是什么 - 或者是否有一个共识:

  • 这个桥类应该命名为什么
  • 这个桥类应该存在的地方
  • 是否最好将所有这些东西本地化为一个类或制作其中几个

...

留给我自己的设备,我正在考虑声明一个名为CDIResources的类,并将其用作将Java EE的DI与CDI的DI链接起来的唯一真实位置。许多例子都做了类似的事情,但我不清楚它们是“仅仅”的例子还是这是一个很好的方法。

感谢。

1 个答案:

答案 0 :(得分:4)

这似乎非常主观,但更喜欢制作几个课程而调用FooProducer一个产生Foo的类。